【问题标题】:Apache kafka - consumer delay optionApache kafka - 消费者延迟选项
【发布时间】:2019-08-01 00:09:57
【问题描述】:

我想在 kafka 中为特定主题启动消费者,稍作延迟。详细地说,我希望消费者在产生消息的特定时间延迟后开始消费来自主题的消息。谁能说kafka中是否有任何属性或选项可以启用它。提前致谢。

【问题讨论】:

  • 一旦生产者在Kafka 中发送消息,它就会进入 Kafka 日志并可供消费者使用。我在 Kafka 文档中没有看到任何属性,它可以让您选择延迟每条消息的消耗(如果有的话,我很乐意了解更多)。但是,您可以控制消息的消费,因此与生产者相比,您可以晚一点启动消费者。

标签: apache-kafka kafka-consumer-api


【解决方案1】:

我们为 spark-streaming 做了同样的事情。我希望,这种方法也适合你。

这个想法很简单——使用Thread.sleep。当您收到来自 kafka 的新消息时,您可以计算在处理它之前需要休眠多长时间。

idea的伪代码:

message = getNextMessageFromKafka()
sleepMs = Math.max(0, currentTime - message.timestamp)
Thread.sleep(speepMs)
do processing

【讨论】:

  • 这个想法非常适合这个问题我觉得如果每 1 毫秒间隔主题会丰富一些数据并且消费者消费并且线程每 1 毫秒数据休眠一次所以这可能会继续正确而其他的处理逻辑就不会叫ryte了!!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-29
  • 2020-04-02
  • 1970-01-01
  • 1970-01-01
  • 2018-06-08
相关资源
最近更新 更多