首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Kafka具有两个不同检查点的一个消费者

Kafka具有两个不同检查点的一个消费者
EN

Stack Overflow用户
提问于 2017-12-27 05:59:04
回答 1查看 227关注 0票数 0

我有一个Kafka消费者项目,它使用来自特定Kafka主题的数据。我一得到90%的记录就进行了处理,但我延迟了对其中一些记录的处理(10%)。

这些记录需要延迟,我无法提交记录,因此可能会导致Kafka将分区重新分配给新节点。为了避免这种情况,我可以将同一主题读两次,并在第二个使用者中延迟获取数据部分,但它需要两次反序列化,因此会带来开销。

有没有可能使用单个消费者读取记录,但与Kafka消费者有两个单独的提交?就提交而言,这基本上类似于有两个不同的消费者,consumer.poll将从单个消费者调用,但每个批处理将有两个consumer.commitSync。我将帮助我避免额外的反序列化和网络成本。

EN

回答 1

Stack Overflow用户

发布于 2017-12-27 12:45:46

下面提到的是你可以做的事情,以实现上述任务。

  • 创建包含两个主题( T1,T2)的管道,推送topic T1中的所有消息(90%),并将topic T2中的所有消息休息10%。
  • 使您的Kafka消费者可配置,即无论何时启动您的消费者,您都可以轻松地通过轮询间隔、batchSize和批量超时。
  • 找到一个逻辑/或者如果您的第二个主题消费是基于时间的,那么当它是Kafka消费者组时,您可以安排启动和停止您的消费者主题T2的cron,您可以将这两个主题放在同一组或不同组中。这完全是你的选择。

通过这种方式,您将在每次需要处理消息时保持主题clean.and,只需设置一次管道即可轻松完成此任务。

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

https://stackoverflow.com/questions/47984121

复制
相关文章

相似问题

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