那么,让我们来比较一下Kafka和拉比。
Kafka(Partition) = RabbitMQ(Queue)
队列包含所有消息,如列表。在kafka中分区的好处是什么,为什么不在一个分区中使用消息呢?只是复制前的?
mcvgt66p1#
kafka不是一个队列,您不能有选择性的确认,这使得它作为队列的可用性大大降低。已经有一个主题离你的问题不远了(事实上,它更多的是相反的,为什么Kafka而不是队列):有什么理由用rabbitmq代替Kafka吗?另一方面,为了完成并回答更多问题,kafka分区允许简单透明地向外扩展,只需处理主题的分区数(这将适合一个消费组中的消费者数)。扬尼克
6psbrbz92#
如果您有许多分区,当一个分区关闭时,您仍然可以从另一个分区读取数据(复制)。而且,许多分区意味着更高的吞吐量。生产者可以生产得更快、更多。消费者可以消费得更多更快(使用消费群体)当你的系统越来越大时,你可以添加更多的分区而不停止你的系统。
2条答案
按热度按时间mcvgt66p1#
kafka不是一个队列,您不能有选择性的确认,这使得它作为队列的可用性大大降低。
已经有一个主题离你的问题不远了(事实上,它更多的是相反的,为什么Kafka而不是队列):
有什么理由用rabbitmq代替Kafka吗?
另一方面,为了完成并回答更多问题,kafka分区允许简单透明地向外扩展,只需处理主题的分区数(这将适合一个消费组中的消费者数)。
扬尼克
6psbrbz92#
如果您有许多分区,当一个分区关闭时,您仍然可以从另一个分区读取数据(复制)。
而且,许多分区意味着更高的吞吐量。生产者可以生产得更快、更多。消费者可以消费得更多更快(使用消费群体)
当你的系统越来越大时,你可以添加更多的分区而不停止你的系统。