在卡夫卡,有什么方法可以在几个相关信息被消耗后产生信息?(无需在应用程序代码中手动控制.)
用例是选择一个巨大的文件,将其分割成几个块,在一个主题中为每个块发布一条消息,一旦所有这些消息被消耗,就会产生另一条消息,通知另一个主题的结果。
我们可以使用数据库或REDIS来控制状态,但我想知道是否有更高层次的方法仅利用Kafka生态系统。
发布于 2020-09-14 09:09:30
办法如下:
发布于 2020-09-11 19:17:33
您可以使用ConsumerGroupCommand来检查某些使用者组是否已经处理完特定主题中的所有消息:
$ kafka-consumer-groups --bootstrap-server broker_host:port --describe --group chunk_consumer或
$ kafka-run-class kafka.admin.ConsumerGroupCommand ...每个分区的零滞后将指示消息已被成功使用,以及由使用者提交的偏移量。
或者,您可以选择订阅__consumer_offsets主题并自己处理消息,但是使用ConsumerGroupCommand似乎是一个更简单的解决方案。
https://stackoverflow.com/questions/63852025
复制相似问题