首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何利用卡夫卡的消费群体实现领导力理念?

如何利用卡夫卡的消费群体实现领导力理念?
EN

Stack Overflow用户
提问于 2021-09-11 11:10:26
回答 1查看 33关注 0票数 0

需求: Module1发布数据,module2消费数据。

在这里,我可以有多个module2实例,其中一个节点应该充当领导者,使用来自主题的数据,并处理这些数据并将其添加到其内存中。该节点负责将其在内存中的内容复制到充当被动节点的其余module2实例中。这里的一个要求是处理顺序应该保持不变。

如何在Kakfa中设计这个?我的想法是Module1发布到sample_topic (只有一个分区),module2的每个实例都将使用消费者组名称并订阅sample_topic。由于同一消费者组的任何实例都可以接收消息,因此领导者的概念不可用。

有没有办法实现领导理念?类似于经纪人在kafka中的工作方式。

EN

回答 1

Stack Overflow用户

发布于 2021-09-11 18:15:36

正如您在问题中指出的-这不是消费者群体的默认行为。

消费者组将在每个消费者之间分配分区,您将不会收到相同的消息。

你似乎需要的是一种管理global state的方法,也就是说,你希望所有的消费者都知道并引用相同的数据。

也许有一种方法可以用consumer API来解决这个问题--但我建议你去研究一下Kafka Streams API

更具体地说,在Kafka Streams中有一个名为GlobalKTablean interface

A KTable在所有正在运行的Kafka Streams实例之间分发数据,而GlobalKTable拥有每个实例上所有数据的完整副本。

您也可以让每个消费者从单个消费者组订阅相同的主题,除非要求消费者组必须相同才能进行伸缩。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69142415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档