RabbitMQ 队列的多个订阅者

Multiple subscribers to RabbitMQ Queue

我希望有多个订阅者接收相同的消息,例如 RabbitMQ 的扇出模型。

但我不知道如果订阅者数量达到10,000或更多时扇出模型是否有效,并且每秒可以推送大约100-200包数据。

我应该尝试其他方法吗?

Rabbitmq 扇出交换将消息副本路由到每个绑定队列。 正如我们所知,rabbitmq 跟踪每个消息状态并且它具有性能成本。

也许您应该考虑将此责任带给消费者并使用其他工具,例如 Kafka。

在 kafka 中,你可能有一个分区,每个消费者组都可以从该分区读取数据,并且消费者会设置自己的偏移量。您可以 re-consume 向特定消费者组发送一条消息,只需回滚偏移量即可。

http://cloudurable.com/images/kafka-architecture-kafka-consumer-groups.png