跳过主内容
版本: 5.0

RocketMQ MQTT 快速入门

系统要求

  • 64位操作系统,推荐 Linux/Unix/macOS
  • 64位 JDK 1.8+

部署说明

由于 RocketMQ-MQTT 项目依赖 RocketMQ 底层多队列分发特性,RocketMQ 从 4.9.3 版本开始支持此特性,因此您需要确认 RocketMQ 版本已升级到 4.9.3 或更高版本,并确保以下配置项已启用

enableLmq = true 
enableMultiDispatch = true

关于 RocketMQ-MQTT 的部署,请参考项目说明,下载项目发布版本或直接从源代码构建。

git clone https://github.com/apache/rocketmq-mqtt
cd rocketmq-mqtt
mvn -Prelease-all -DskipTests clean install -U
cd distribution/target/

源代码构建完成后,编辑 conf/service.conf 以完成 MQTT 相关配置,如下所示

username=xxx    // Authorization verification account configuration
secretKey=xxx // Authorization verification account configuration
NAMESRV_ADDR=xxx //namesrv access point
eventNotifyRetryTopic=xx //notify retry topic, created in advance
clientRetryTopic=xx //Client message retry topic, created in advance

其他启动配置和前置步骤请参考项目 README.md

最后启动 meta 服务,然后启动 mqtt broker。进入 distribution/target/bin 目录并启动进程。

sh meta.sh start
sh mqtt.sh start

示例说明

基本代码在项目工程代码中提供,请参阅代码 example

MqttConsumer.java  // MQTT client initiates subscription message
MqttProducer.java // MQTT client starts publishing messages
RocketMQConsumer.java // RocketMQ client starts subscription message
RocketMQProducer.java // RocketMQ client starts publishing messages