扩展分区时的Kafka主题排序

问题描述 投票:1回答:1

考虑您的生产者为系统用户创建消息,并且它们的顺序在用户级别中很重要。

我的生产者,添加消息到主题有两个分区,我正在使用散列对user_id将每个用户的所有消息放在同一个分区,以保证订单。

如何在保持消息顺序的同时扩展系统并为主题添加更多分区?

Kafka如何处理分区前已经生成的消息?消费但未提交回Kafka以更新偏移的消息会发生什么?

apache-kafka kafka-consumer-api producer-consumer
1个回答
0
投票

1.在消费者客户端使用树集(有序集)缓存消息,保持1分钟(或更短); kafka只保证一个分区的顺序,我认为生产者也不能保证订单。

2.如果您未手动提交偏移量,则在下一次提取请求中,将获得相同的消息。无论如何,在消费者客户端,你应该确保消息的幂等性,即使你有安排的偏移量。

© www.soinside.com 2019 - 2024. All rights reserved.