rocketmq使用mqtt协议

这篇具有很好参考价值的文章主要介绍了rocketmq使用mqtt协议。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

rocketmq从4.9.3开始,可以兼容mqtt协议,需要安装编译一个rocketmq-mqtt工程,参考:https://rocketmq.apache.org/zh/docs/4.x/mqtt/02RocketMQMQTTQuickStart/


一、安装rocketmq

需要安装rocketmq4.9.3以上的版本
安装过程略

broker.conf配置文件中添加参数,开启多队列分发特性

enableLmq = true 
enableMultiDispatch = true

二、打包rocketmq-mqtt

安装maven配置环境变量
过程略
下载并打包

git clone https://github.com/apache/rocketmq-mqtt

cd rocketmq-mqtt
mvn -Prelease-all -DskipTests clean install -U 

cd distribution/target/
target下是打包的包

三、配置rocketmq-mqtt

下面例子中 ROCKETMQ所在机器192.168.33.22,ROCKETMQ-MQTT服务所在机器172.16.10.160

修改conf/connect.conf

mqttPort=1883

enablePrometheus=true

修改conf/meta.conf
IP换成要运行服务的机器的

selfAddress=172.16.10.160:25000
membersAddress=172.16.10.160:25000

修改conf/service.conf
metaAddr的IP换成要运行服务的机器的
username和secretKey配置了要记住,mqtt生产者要使用它做认证
eventNotifyRetryTopic=xx //notify重试topic,提前创建
clientRetryTopic=xx //客户端消息重试topic,提前创建
NAMESRV_ADDR的IP换成RocketMQ nameserver服务所在机器的IP

username=test
secretKey=test

NAMESRV_ADDR=192.168.33.22:9876
eventNotifyRetryTopic=eventNotifyRetryTopic
clientRetryTopic=clientRetryTopic

metaAddr=172.16.10.160:25000

四、初始化操作

创建topic

mqadmin updatetopic -c {cluster} -t {topic} -n {namesrv}

上面配置的eventNotifyRetryTopic和clientRetryTopic也必须创建
实际执行如下:

mqadmin updatetopic -c DefaultCluster -t eventNotifyRetryTopic -n 192.168.33.22:9876
mqadmin updatetopic -c DefaultCluster -t clientRetryTopic -n 192.168.33.22:9876
mqadmin updatetopic -c DefaultCluster -t test-topic -n 192.168.33.22:9876

Configure Gateway Node List:

mqadmin updateKvConfig -s LMQ -k LMQ_CONNECT_NODES -v {ip1,ip2} -n {namesrv}

实际执行如下:

mqadmin updateKvConfig -s LMQ -k LMQ_CONNECT_NODES -v 172.16.10.160 -n 192.168.33.22:9876

Configure the first-level topic list

mqadmin updateKvConfig -s LMQ -k ALL_FIRST_TOPICS -v {topic1,topic2} -n {namesrv}

实际执行如下:

mqadmin updateKvConfig -s LMQ -k ALL_FIRST_TOPICS -v eventNotifyRetryTopic,clientRetryTopic,test-topic -n 192.168.33.22:9876

Configure a list of wildcard characters under each first-level topic

mqadmin updateKvConfig  -s LMQ -k {topic} -v {topic/+}  -n {namesrv}

实际执行如下:

mqadmin updateKvConfig  -s LMQ -k eventNotifyRetryTopic -v eventNotifyRetryTopic/+ -n 192.168.33.22:9876

mqadmin updateKvConfig  -s LMQ -k clientRetryTopic -v clientRetryTopic/+ -n 192.168.33.22:9876

mqadmin updateKvConfig  -s LMQ -k test-topic -v test-topic/+ -n 192.168.33.22:9876

五、启动

cd bin
sh meta.sh start
sh mqtt.sh start

启动日志在$HOME/logs/start_out.log
启动完后应该meta对应25000端口,mqtt对应1883端口

六、测试

使用rocketmq-mqtt工程中的mqtt-example做测试
rocketmq使用mqtt协议,rocketmq,rocketmq
将其中的一些IP、topic改为实际的
经测试,可以用mqtt做生产者,rocketmq做消费者
rocketmq使用mqtt协议,rocketmq,rocketmq
rocketmq使用mqtt协议,rocketmq,rocketmq文章来源地址https://www.toymoban.com/news/detail-581009.html

到了这里,关于rocketmq使用mqtt协议的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • springboot当中使用EMQX(MQTT协议)

    本篇博客主要围绕EMQX是什么?、能干什么?、怎么用? 三点来进行整理。 1.1、MQTT简介 在了解EMQX前首先了解一下MQTT协议,MQTT 全称为 Message Queuing Telemetry Transport(消息队列遥测传输),是一种基于 发布/订阅 模式的 轻量级物联网消息传输协议。IBM 公司的安迪·斯坦福-克拉

    2024年02月21日
    浏览(37)
  • MQTT协议原理介绍及如何使用emqx

    MQTT(Message Queuing Telemetry Transport)协议是一种轻量级的、基于发布/订阅模式的通信协议。它最初由IBM开发,用于在低带宽和不稳定的网络环境中传输小型数据包。MQTT协议被广泛应用于物联网(IoT)领域,例如传感器数据采集、远程监控和控制等。 MQTT协议使用了一种异步的、

    2024年02月12日
    浏览(38)
  • OneNet平台使用可视化界面(MQTT协议)

    项目效果: 在OneNet平台建立一个可视化界面,实现效果是下位机的温度,湿度可以在该界面显示,同时该界面可以控制下位机的灯亮与灭。 搭建环境: 软件:keil(编写C语言-修改硬件的程序)+onenet平台(建立可视化界面-上位机功能); 硬件:野火指南者开发板; 可视化界面:

    2024年02月05日
    浏览(50)
  • 物联网通信协议-MQTT及使用python实现

    简述 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的\\\"轻量 级\\\"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作

    2024年02月10日
    浏览(46)
  • 基于OpenWrt使用MQTT物联网协议详解和应用

    大家好,这篇文章给大家介绍MQTT协议以及如何在OpenWrt系统中使用MQTT客户端和开发,并给出相关实例代码。 MQTT(Message Queuing Telemetry Transport)是一种轻量级的通信协议,设计用于在低带宽和不稳定的网络环境中传输消息。它最初由IBM开发,用于连接远程设备和传感器到网络,

    2024年02月02日
    浏览(58)
  • 2023年最新的OneNet版本使用介绍(MQTT协议)

    OneNet在2023年4月23日,对NB-IoT套件、MQTT套件、和物生活平台进行融合升级,升级后的新版OneNET物联网开放平台将通过统一的入口。 之前写的教程里都是以原旧版本的MQTT套件为主,现在升级新版本之后,之前的教程截图就不适用了。很多小伙伴不知道新版本的OneNet如何使用,当

    2024年02月06日
    浏览(39)
  • 使用4G通信模块和MQTT协议,完成物联网设备开发。

    (1)安装并使用4G模块通信模块,建立microPython开发环境; (2)使用提供的Demo开发例程,使用MQTT传输协议连接阿里或腾讯网站,完成物联网设备开发。 (3)将温湿度信息上传到网站; (4)手机APP查看数 这是第一步,在阿里云平台创建产品和设备,用来将实际的设备数据

    2024年02月04日
    浏览(60)
  • 【ESP8266】使用MQTT协议 连接华为云iotDA,实现设备属性上报

    相关资料:https://github.com/CQUPTLei/ESP8266 往期文章:【ESP8266】基础AT指令和常用WIF指令 【MQTT 5.0】协议 ——发布订阅模式、Qos、keepalive、连接认证、消息结构 华为云物联网平台 (IoT 设备接入云服务)提供海量设备的接入和管理能力,将物理设备联接到云,支撑设备数据采集上

    2024年02月09日
    浏览(40)
  • RocketMQ-(9-1)-MQTT-EventBridge概述

    传统的消息队列MQ主要应用于服务(端)之间的消息通信,比如电商领域的交易消息、支付消息、物流消息等等。然而在消息这个大类下,还有一个非常重要且常见的消息领域,即IoT类终端设备消息。近些年,我们看到随着智能家居、工业互联而兴起的面向IoT设备类的消息正

    2024年02月10日
    浏览(42)
  • android studio 使用MQTT协议连接onenet 注意事项和相关函数

    一、注意事项: 1.添加依赖: 2.在注册表允许打开网络 3.在application     /application之间添加用于支持 MQTT(Message Queuing Telemetry Transport)通信协议的 Eclipse Paho Android 服务。 4.打开项目中的 gradle.properties 文件,并确保以下属性设置为true------更新所有的支持库到AndroidX中。 二、

    2024年04月26日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包