我正在尝试为我正在做的一个项目挑选一个。
从文档中完全不清楚 HA 是如何在所有这些中工作的,除了 RabbitMQ,它指出传入的请求将始终找到到达最初创建相关队列的节点的方式。含义如果我想发布到由 Node1 创建但最终在 Node2 发出请求的 QueueA,我将在内部路由到 Node2。另一方面,我正在寻找一个真正的分布式解决方案,在该解决方案中,我能够处理任何节点,而无需在内部重新路由我的请求,并从中得到答案。
我正在尝试为我正在做的一个项目挑选一个。
从文档中完全不清楚 HA 是如何在所有这些中工作的,除了 RabbitMQ,它指出传入的请求将始终找到到达最初创建相关队列的节点的方式。含义如果我想发布到由 Node1 创建但最终在 Node2 发出请求的 QueueA,我将在内部路由到 Node2。另一方面,我正在寻找一个真正的分布式解决方案,在该解决方案中,我能够处理任何节点,而无需在内部重新路由我的请求,并从中得到答案。
VerneMQ无需使用任何附加组件(如 Zookeeper)即可提供集群、主题树和订阅的完全同步、自愈网络拆分。VerneMQ 将每条消息从任何集群节点路由到任何其他实时订阅的节点。VerneMQ 可以在后台为离线队列做队列迁移。
VerneMQ 有一个最终一致的同步模型。它在集群中广播事件,但也使用反熵来确保同步发生。
与基于 Mnesia (Rabbit) 的代理相反,VerneMQ 有一个关于 CAP(一致性、可用性)的定义模型。
与其他代理相反,VerneMQ 在其完全开源的版本中提供这些功能!
免责声明:我在 VerneMQ 项目中。
免责声明:我为 HiveMQ 工作。从HiveMQ 用户指南:
MQTT 代理集群是一个分布式系统,它代表一个逻辑 MQTT 代理连接到连接的 MQTT 客户端,这意味着对于 MQTT 客户端而言,无论是连接到单个 HiveMQ 代理节点还是多节点 HiveMQ 集群,都没有区别。
数据集在不同节点之间复制,当节点离开或进入集群时,数据会重新同步,以确保始终保持配置的副本计数。HiveMQ 提供了一个具有真正高可用性的无主、完全弹性的集群。不需要其他软件,例如 Zookeeper。