MQTT中的集群用于物联网和推送通知

时间:2017-07-18 07:40:34

标签: mqtt mosquitto moquette

我已经开始阅读有关MQTT协议及其实现的一些细节。我经常遇到 'cluster' 这个词。任何人都可以帮助我理解'集群'对MQTT协议意味着什么吗?

在各种MQTT协议的this比较中,有一个列为“群集”

2 个答案:

答案 0 :(得分:3)

使用主题桥循环转发消息不会导致真正的MQTT代理群集,这将导致上面列出的缺点。
true MQTT代理群集是一个分布式系统,代表一个逻辑MQTT代理。集群由各种单独的MQTT代理节点组成,这些节点通常安装在单独的物理或虚拟机上,或通过网络连接。
MQTT代理群集的典型优势包括:

  • 消除单点故障
  • 跨多个群集节点的负载分布
  • 客户端在任何代理群集上恢复会话的能力
  • 可扩展性
  • 恢复能力和容错能力 - 在云环境中尤其有用

如果您正在寻找更详细的解释,我建议this blogpost

答案 1 :(得分:-1)

集群是MQTT代理的集合,用于在彼此之间桥接所有主题,以便客户端可以连接到任何一个集群成员,并且仍然可以向所有其他客户端发布和接收消息,无论它们是哪个集群成员连接到。

要注意的一些事项:

  • 主题桥循环,其中消息发布到一个集群成员,然后转发到另一个集群成员,然后另一个集群成员,最后返回到原始集群成员。如果发生这种情况,原始代理无法知道它最初将其推送到其他集群成员,因此消息并以循环结束。共享消息状态数据库或使用单个桥接复制代理可以解决此问题。
  • 持久订阅/会话,除非代理具有池化会话高速缓存,否则如果客户端在重新连接时连接到不同的集群成员,则不会保留会话或订阅状态。