单个kafka消费者 - 从多个主题中读取 - 消息的消费顺序是什么

时间:2018-02-06 12:04:35

标签: java apache-kafka kafka-consumer-api

我正在用java编写一个简单的Kafka使用者,它被配置为从多个主题中读取。目前,让我们假设两个主题(topic1和主题2)和两个主题的单一分区。

Kafka消费者从topic1和topic2中读取的顺序是什么。 如果这个话题都说已经发布了100条消息。

由于主题1按时间顺序排列有以下消息(A1,A2,A3,...... A100)。

由于主题2有时间有序的消息(B1,B2,B3,...... B100)。

从主题

收到的消息的顺序是什么
  1. 消费者首先从topic1读取所有消息,然后是topic2?
  2. 消费者按时间顺序阅读混合来自两个主题的消息?
  3. 我读过Kafka文档无法找到关于此的参考。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

每个轮询消费者将获得多少数据取决于消费者配置(轮询记录,轮询间隔,获取最大字节数,最大分区大小等),因此无法保证主题分区中的消息顺序,如排序仅在主题分区中维护