【问题标题】:Implementing throttling on Kafka topic consumer对Kafka主题消费者实施节流
【发布时间】:2018-10-09 15:11:53
【问题描述】:

我们正在构建一个系统,以便在我们的生态系统中以可控且可预测的速度将数据从一个点转移到另一个点。该系统基本上有一个主要的 kafka 主题,它获取 N 类型的消息。从此主题消费的代理然后根据消息有效负载主题将消息放入 N 个工作队列之一。然后这些工作队列让工作人员实际执行工作。

现在我想实现控制旋钮,例如 - 暂停/恢复/限制来自代理的 1 种类型的消息。假设代理和工人之间没有沟通,我怎么能做到这一点。我是否应该为代理编写这些消息的每个工作人员设置一个单独的“系统事件”主题?或者最好在顶层也有 N 个队列?

【问题讨论】:

    标签: apache-kafka kafka-consumer-api


    【解决方案1】:

    我个人更喜欢让代理中的不同线程处理暂停/恢复/节流逻辑,这些线程在 Kafka 消费者之后。这将确保如果您限制特定类型,它不会妨碍其他类型的处理。因此,基本上 Kafka 消费者会根据类型将特定于类型的操作委托给不同的线程。

    【讨论】:

      猜你喜欢
      • 2017-10-17
      • 2017-01-26
      • 1970-01-01
      • 2018-07-01
      • 2018-01-19
      • 2019-06-25
      • 2018-12-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多