一、前言

在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、最终只会有单个消费者去消费

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐