开发者社区 > 云原生 > 云消息队列 > 正文

有两个Apache RocketMQ问题 问下 mqtt是否自动开启 如果不是如何开启呢 ?

有两个Apache RocketMQ问题 问下 1.mqtt是否自动开启 如果不是如何开启呢 2. 如果部署mqtt 能否只部署master 不要slave 比如只部署2个master 当一个挂的时候 流量会自动切换到另一个呢?

展开
收起
真的很搞笑 2023-06-11 22:57:19 145 0
3 条回答
写回答
取消 提交回答
    1. 在 Apache RocketMQ 中,默认情况下是不会自动开启 MQTT 协议的支持的,需要手动配置。具体来说,需要在配置文件 broker.conf 中添加以下配置项:
    mqtt.enabled=true
    
    1. 在 Apache RocketMQ 中,如果只部署 2 个 Master 节点,当其中一个节点挂掉时,流量不会自动切换到另一个节点。这是因为 Master 节点之间需要复制数据,才能保证数据的高可用性。如果只部署 2 个 Master 节点,那么当其中一个节点挂掉时,另一个节点无法复制数据,导致数据不一致。因此,建议至少部署 3 个 Master 节点,并开启复制功能,以确保数据的高可用性。
    2023-06-12 11:03:28
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    Apache RocketMQ 默认情况下不会自动开启 MQTT 协议支持,需要手动配置启用 MQTT 协议支持。可以通过修改 RocketMQ Broker 的配置文件 broker.conf 来启用 MQTT 协议支持,具体需要修改的参数如下:

    autohotkey Copy enablePropertyFilter=true mqttEnable=true mqttPort=1883 mqttMaxThreadPool=64

    
    在上述参数中,`mqttEnable` 参数控制是否启用 MQTT 协议支持,`mqttPort` 参数指定 MQTT 协议监听的端口号,`mqttMaxThreadPool` 参数指定 MQTT 协议处理消息的线程池大小。修改完配置文件后,需要重启 RocketMQ Broker 才能生效。
    
    Apache RocketMQ 支持主从部署模式,在主从部署模式下,一个 Master 节点和一个或多个 Slave 节点一起组成一个 Broker 集群。在 Broker 集群中,Master 节点负责读写操作,而 Slave 节点只负责同步 Master 节点的数据。
    
    在主从部署模式下,如果只部署两个 Master 节点,那么在一个 Master 节点故障时,不能自动切换到另一个 Master 节点,因为两个 Master 节点是平级的,没有数据同步的机制。因此,如果要实现高可用性,建议使用 Master-Slave 部署模式,并且至少部署两个 Broker 实例,每个 Broker 实例包括一个 Master 节点和一个 Slave 节点
    2023-06-12 07:59:29
    赞同 展开评论 打赏
  • 1、Apache RocketMQ 默认是不开启 MQTT 协议支持的,需要手动配置开启。具体操作可以参考 RocketMQ 官方文档中的配置说明。

    2、在 Apache RocketMQ 中,MQTT 协议是通过 Broker 的插件机制实现的。在部署时,可以选择只部署 Master 节点,但是需要确保 Master 节点上已经安装并启用了 MQTT 插件。在这种情况下,如果某个 Master 节点出现故障,流量会自动切换到另一个可用的 Master 节点。需要注意的是,如果只部署 Master 节点,可能会影响系统的可用性,建议还是按照官方推荐的方式部署 Master-Slave 架构来保障系统的稳定性。

    2023-06-12 07:57:15
    赞同 展开评论 打赏

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/

相关产品

  • 云消息队列 MQ
  • 热门讨论

    热门文章

    相关电子书

    更多
    Apache Flink技术进阶 立即下载
    Apache Spark: Cloud and On-Prem 立即下载
    Hybrid Cloud and Apache Spark 立即下载

    相关镜像