Apache kafka 在kafka中是否有任何api可以找到分区是否平衡
是否存在任何API或客户端库,可以告诉我主题中填充了多少数据,这样我就可以找出是否有任何方法可以检查分区是否平衡假设您创建了一个主题X。您的制作人开始向您的主题中推送大量数据。你的话题正以指数级增长。根据配置log.segment.bytes,卡夫卡将创建一个新段并开始向其中写入数据。旧段将保留log.retention.ms毫秒。正因为如此,100%的主题本身是很难计算的Apache kafka 在kafka中是否有任何api可以找到分区是否平衡,apache-kafka,Apache Kafka,是否存在任何API或客户端库,可以告诉我主题中填充了多少数据,这样我就可以找出是否有任何方法可以检查分区是否平衡假设您创建了一个主题X。您的制作人开始向您的主题中推送大量数据。你的话题正以指数级增长。根据配置log.segment.bytes,卡夫卡将创建一个新段并开始向其中写入数据。旧段将保留log.retention.ms毫秒。正因为如此,100%的主题本身是很难计算的 但是,如果您正在寻找一种可以根据每个代理上的负载分配分区的工具,那么我建议您研究Kafka工具包()。在设计和开发Kafk
但是,如果您正在寻找一种可以根据每个代理上的负载分配分区的工具,那么我建议您研究Kafka工具包()。在设计和开发Kafka之前,这是一个很好的策略
第一点,你需要考虑如何定义你的密钥,以及你打算使用什么样的精确分区,同时对主题产生消息。 经验法则:
bin/kafka-consumer-groups.sh --bootstrap-server broker1:9092 --describe --group consumer-group
TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID
test 1 10 30 20 consumer-group
我不是在寻找一个工具,它可以根据每个代理上的负载分配分区,而是我想使用一些脚本或通过生产者发送的任何程序(键、值)+消息中的更多内容来查找当前分区或主题容量。密钥可以是customerId。将一个客户的所有数据放在一个分区中可以使设计更加可靠。现在,假设partitionX托管在hostA上,并且它超载了,那么生产者不应该试图变得聪明,开始向partitionY发送消息。如果hostA过载并关闭,则Kafka将开始使用同步副本。
bin/kafka-consumer-groups.sh --bootstrap-server broker1:9092 --describe --group consumer-group
TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID
test 1 10 30 20 consumer-group