【问题标题】:RabbitMQ,Vernemq and HiveMQ - Distribution and HARabbitMQ、Vernemq 和 HiveMQ - 分发和 HA
【发布时间】:2019-12-28 13:47:49
【问题描述】:

我正在尝试为我正在做的项目挑选一个。

除了 RabbitMQ 之外,文档中完全不清楚 HA 是如何在所有这些中工作的,它指出传入的请求将始终找到到达最初创建相关队列的节点的方式。含义如果我想发布到由 Node1 创建但最终在 Node2 发出请求的 QueueA,我将在内部路由到 Node2。 另一方面,我正在寻找一个真正的分布式解决方案,我可以在其中处理任何节点,而无需在内部重新路由我的请求,并从中得到答案。

【问题讨论】:

  • 真的不清楚这里的问题是什么。如果您要问使用哪个,那将是题外话,因为这里提供的信息最终只能是一种意见。
  • 我实际上想知道什么使用正确的 HA 而不是这个重新路由的东西......

标签: rabbitmq hivemq mqtt-vernemq


【解决方案1】:

VerneMQ 无需使用任何其他组件(如 Zookeeper)即可提供集群、主题树和订阅的完全同步、自我修复的网络分割。 VerneMQ 将每条消息从任何集群节点路由到任何其他实时订阅的节点。 VerneMQ 可以在后台为离线队列做队列迁移。

VerneMQ 有一个最终一致的同步模型。它在集群中广播事件,但也使用反熵来确保同步发生。

与基于 Mnesia (Rabbit) 的代理相反,VerneMQ 有一个关于 CAP(一致性、可用性)的定义模型。

与其他代理相反,VerneMQ 在其完全开源的版本中提供这些功能!

免责声明:我参与 VerneMQ 项目。

【讨论】:

    【解决方案2】:

    免责声明:我为 HiveMQ 工作。 来自HiveMQ User Guide

    MQTT 代理集群是一个分布式系统,它代表一个逻辑 MQTT 代理连接到连接的 MQTT 客户端,这意味着对于 MQTT 客户端而言,无论它是连接到单个 HiveMQ 代理节点还是多节点 HiveMQ 集群,都没有区别。

    数据集在不同节点之间复制,当节点离开或进入集群时,数据会重新同步,以确保始终保持配置的副本计数。 HiveMQ 提供了一个具有真正高可用性的无主、完全弹性的集群。 不需要其他软件,例如 Zookeeper。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-10
      • 1970-01-01
      • 2018-10-10
      • 1970-01-01
      • 2014-07-09
      • 2015-09-21
      • 1970-01-01
      • 2014-04-10
      相关资源
      最近更新 更多