0

我正在使用卡夫卡2.9.2-0.8.1版本..

从文档来看,这似乎load balancing是为配置的集群自动完成的。

这是我的 Java 生产者配置:

Properties props = new Properties();
props.put("batch.size", "200");
props.put("producer.type", "async");
props.put("connect.timeout.ms", "5000");
props.put("request.required.acks", "0");
props.put("metadata.broker.list", "10.10.73.52:9092,10.10.70.15:9092");
props.put("serializer.class", "kafka.serializer.DefaultEncoder");
props.put("partitioner.class", "kafka.producer.DefaultPartitioner");

注意:我保留了 Kafka 发行版提供的所有默认配置。

Zookeeper 似乎发现了我的另一个经纪人:10.10.70.15.. 当我检查日志时..

test-topic在其中一个经纪人上创建了一个.. 使用console-producer.sh.. 然后在所有其他注册的文件夹中创建了适当directory的文件夹。/tmp/kafka-logsbrokerszookeeper

-->./kafka-topics.sh --create --zookeeper 10.10.73.52:2181 --replication-factor 2 --partitions 2 --topic test-topic

我已使用以下提供的行来订阅两台代理机器上的主题..

-->./kafka-console-consumer.sh --zookeeper 10.10.73.52:2181 --topic test-topic

生产者代码:

KeyedMessage<String, byte[]> publishData = new KeyedMessage<String, byte[]>("test-topic", data);
producer.send(publishData);

我看到both the brokers收到相同的数据..负载不平衡。

我是否需要实现任何其他负载平衡/分区逻辑?

任何想法我在这里想念什么?

4

0 回答 0