首页 > 解决方案 > 卡夫卡独立消费者

问题描述

我是 Kafka 的新手,正在尝试验证我的设计。下面是我所拥有的。

我有一个生产者发布到一个主题,并且有一堆容器(部署了我的 Web 应用程序),其中一个消费者在每个容器上运行。这些消费者不在消费者组中并且独立地消费消息。每个消费者都应该阅读该主题的所有消息。例如,假设主题上有 3 条消息 - m0、m1、m2,那么 consumer1 到 consumerN 应该独立读取 m0、m1、m2。每个消费者在处理读取消息后都会立即提交偏移量。每当重新部署我的 Web 应用程序时,所有消费者都会关闭并重新启动。他们应该从上次提交的偏移量开始读取。

对于这个设置,正如我所说,我的所有消费者都不在任何消费者组中,我想这应该让他们独立阅读消息,请确认这是对的吗?这个设计有什么缺陷吗?

标签: apache-kafkakafka-consumer-apikafka-producer-api

解决方案


您的设计只是缺少一个小东西,您的每个容器都必须定义一个不同的(kafka)消费者组并在重新启动时重用它。否则,每次启动时都会为每个消费者分配一个随机组 ID,因此他们不会在关闭时继续消费。


推荐阅读