首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >卡夫卡知道相关信息何时被消耗。

卡夫卡知道相关信息何时被消耗。
EN

Stack Overflow用户
提问于 2020-09-11 17:52:27
回答 2查看 6.1K关注 0票数 6

在卡夫卡,有什么方法可以在几个相关信息被消耗后产生信息?(无需在应用程序代码中手动控制.)

用例是选择一个巨大的文件,将其分割成几个块,在一个主题中为每个块发布一条消息,一旦所有这些消息被消耗,就会产生另一条消息,通知另一个主题的结果。

我们可以使用数据库或REDIS来控制状态,但我想知道是否有更高层次的方法仅利用Kafka生态系统。

EN

回答 2

Stack Overflow用户

发布于 2020-09-14 09:09:30

办法如下:

  1. 在使用每个块应用程序后,应该生成具有状态(已消费的和块号)的消息,
  2. 第二个应用程序(卡夫卡流一次)应该聚合结果,当所有块的处理消息生成最终消息时,该文件将被处理。
票数 3
EN

Stack Overflow用户

发布于 2020-09-11 19:17:33

您可以使用ConsumerGroupCommand来检查某些使用者组是否已经处理完特定主题中的所有消息:

  1. $ kafka-consumer-groups --bootstrap-server broker_host:port --describe --group chunk_consumer

  1. $ kafka-run-class kafka.admin.ConsumerGroupCommand ...

每个分区的零滞后将指示消息已被成功使用,以及由使用者提交的偏移量。

或者,您可以选择订阅__consumer_offsets主题并自己处理消息,但是使用ConsumerGroupCommand似乎是一个更简单的解决方案。

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

https://stackoverflow.com/questions/63852025

复制
相关文章

相似问题

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