如何保证Kafka顺序消费
在Kafka中Partition(分区)是真正保存消息的地方,发送的消息都存放在这里。Partition(分区)又存在于Topic(主题)中,并且一个Topic(主题)可以指定多个Partition(分区)。在Kafka中,只保证Partition(分区)内有序,不保证Topic所有分区都是有序的。所以Kafka要保证消息的消费顺序,可以有2种方法。...
·
一、前言
在Kafka中Partition(分区)是真正保存消息的地方,发送的消息都存放在这里。Partition(分区)又存在于Topic(主题)中,并且一个Topic(主题)可以指定多个Partition(分区)。
在Kafka中,只保证Partition(分区)内有序,不保证Topic所有分区都是有序的。
所以 Kafka 要保证消息的消费顺序,可以有2种方法。
二、1个Topic(主题)只创建1个Partition(分区)
1个Topic(主题)只创建1个Partition(分区),这样生产者的所有数据都发送到了一个Partition(分区),保证了消息的消费顺序。
三、生产者在发送消息的时候指定要发送到哪个Partition(分区)
那么问题来了:在1个topic中,有3个partition,那么如何保证数据的消费?
a、相同行为的消息存放到同一个MQ服务器中
b、最终只会有单个消费者去消费
更多推荐
已为社区贡献4条内容
所有评论(0)