如何使用 KAFKA 在消费者中自动进行负载平衡

Posted

技术标签:

【中文标题】如何使用 KAFKA 在消费者中自动进行负载平衡【英文标题】:How to load balance automatically in consumer by using KAFKA 【发布时间】:2018-05-24 22:28:33 【问题描述】:

这是我的任务:

file_1:[task_1_1,task_1_2,...]

file_2:[task_2_2,task_2_2,...]

...

file_n: [task_n_1, task_n_2, ...]

现在我想按顺序运行文件任务(可以同时处理不同文件的任务)。我应该如何设计 KAFKA 主题或分区来实现这一点,或者您是否有其他 MQ 选项可供我选择:

    每个消费者进程都是无状态的。 每个任务将至少处理一次。 在消费者进程被杀死、重启或添加新进程后,它会自动进行负载平衡。

我们将不胜感激。

【问题讨论】:

【参考方案1】:

这些问题在 Kafka 文档中得到了很好的解决。您提出的一些问题是您可以阅读的基本 Kafka 功能(例如,消费者组自动平衡和消息传递保证)。见:https://kafka.apache.org/documentation/

【讨论】:

以上是关于如何使用 KAFKA 在消费者中自动进行负载平衡的主要内容,如果未能解决你的问题,请参考以下文章

怒肝15天终于将Kafka的重平衡一举拿下

kafka如何平衡分区负载?

Kafka源码KafkaConsumer

Jet Kafka负载平衡

消费者再平衡如何在 Kafka 中工作?

JMeter进行Apache Kafka负载测试