1.概述
翻译:Incremental Cooperative Rebalancing: Support and Policies
2.介绍
在Apache Kafka中,分布式应用进程之间的再平衡得到了极大的增强,因为它被作为逻辑从Kafka代理中解耦出来,并被转移到客户端
,特别是Kafka消费者端。这个模式已经健壮地运行了一段时间,并且已经成功地使用了,除了Kafka Consumer本身,Kafka Streams, Kafka Connect,以及Apache Kafka代码库之外的其他应用。
它基于一个简单的原则:当一个分布式进程离开或加入组时,这个组的所有成员停止处理并协调,以重新分配他们共享的资源
,例如他们的分配到Kafka topic分区。在重新平衡开始时,流程将撤销所有分配给它们的资源。在重新平衡的最后,他们将得到一个新的资源分配。在任何时候,组中的一个进程都是指定的leader。组长负责在再平衡期间计算组内资源的分配。
在这个方案中,我们对现有的再平衡过程进行了必要的改进,并对客户端协议(也称为嵌入式协议)提出了扩展,这将允许Kafka应用程序增量地和协作地执