我们知道,在kafka0.8中,生产者直接连接到代理,而不连接到zookeeper。而不是如何在每个请求的基础上实现基于zookeeper的负载平衡?实际上,当一个主题被创建时,它的分区将分布在一个或多个代理中。当一个消息被发送时,它将根据它的关键字被传递到某个分区。也就是说,必须将某个数据发送到固定代理上的固定分区。所谓的负载平衡是如何工作的?
rdlzhqv91#
生产者端的负载平衡有效地取决于您是希望代理根据使用提供的密钥自动分区,还是让代理处理消息自动转到哪个分区。如果不想指定分区键,则不必指定分区键,因此负载平衡仅限于给定主题可用的分区数,而不是分配给该键的分区数。
o4hqfura2#
kafka需要一个zookeepeer示例来连接到代理。我们可以通过使用默认分区器或自定义分区器写入主题中的分区来实现负载平衡。
2条答案
按热度按时间rdlzhqv91#
生产者端的负载平衡有效地取决于您是希望代理根据使用提供的密钥自动分区,还是让代理处理消息自动转到哪个分区。
如果不想指定分区键,则不必指定分区键,因此负载平衡仅限于给定主题可用的分区数,而不是分配给该键的分区数。
o4hqfura2#
kafka需要一个zookeepeer示例来连接到代理。我们可以通过使用默认分区器或自定义分区器写入主题中的分区来实现负载平衡。