【发布时间】:2021-03-04 05:46:49
【问题描述】:
在使用 HA/数据复制功能的集群场景中,消费者是否有办法从从属节点消费/获取数据,而不是总是接触到主节点(该特定队列的主节点)?
如果您考虑可扩展性,让所有消费者调用单个节点来负责成为特定队列的主节点意味着所有流量都流向单个节点。
Kafka 允许消费者从最近的节点获取数据,如果该节点包含领导者的副本,那么 ActiveMQ 上是否有类似的东西?
【问题讨论】:
标签: activemq-artemis
在使用 HA/数据复制功能的集群场景中,消费者是否有办法从从属节点消费/获取数据,而不是总是接触到主节点(该特定队列的主节点)?
如果您考虑可扩展性,让所有消费者调用单个节点来负责成为特定队列的主节点意味着所有流量都流向单个节点。
Kafka 允许消费者从最近的节点获取数据,如果该节点包含领导者的副本,那么 ActiveMQ 上是否有类似的东西?
【问题讨论】:
标签: activemq-artemis
简而言之,没有。消费者只能从主动代理消费,而从代理不是主动的,它们是被动的。
如果您想提高可扩展性,您可以向集群添加额外的代理(或 HA 代理对)。也就是说,我建议您在增加集群大小之前仔细进行基准测试以确认您确实需要额外的容量。根据用例,单个 ActiveMQ Artemis 代理每秒可以处理数百万条消息。
据我了解,Kafka 的语义与 ActiveMQ Artemis 等“传统”消息代理完全不同,因此比较不是特别恰当。
【讨论】: