2

Kafka 0.72 では、zk.connect または broker.list のいずれかを指定できることがわかりました。しかし Kafka 0.8 では、broker.list しか指定できず、broker.list を指定せずに zk.connect を指定することはできません。この場合、生産者と飼育係のバランスを取ることはできないと思います。誰かがKafka 0.8を使用している場合、またはそれについて理解していますか? どうもありがとう!

4

2 に答える 2

3

ZooKeeper クライアントを使用してブローカー リストを取得することもできます。

ZkClient zkClient = new ZkClient("localhost:2108", 4000, 6000, new BytesPushThroughSerializer());
List<String> brokerList = zkClient.getChildren("/brokers/ips");

それによると、クライアント側でブローカーリストを「ハードコード」する必要はなく、システムアーキテクチャに関する限り柔軟です。しかし、とにかく、これは ZooKeeper の依存関係を再び追加することになり、実際にはいくつかの環境でプロデューサーにとって不利になります。

いわゆる「クラスター メタデータ API」ソリューションの詳細を知りたい場合は、次のリンクを確認してください: https://issues.apache.org/jira/browse/KAFKA-369

一番

于 2013-02-08T22:36:49.353 に答える
0

Kafka 0.8 では、プロデューサーは新しいクラスター メタデータ API を介して負荷分散を行い、その目的での Zookeeper の使用は削除されました。

于 2013-01-07T08:25:28.323 に答える