2017-11-24 12 views
0

私はkafkaを初めて使い、いくつかの基本的な疑問があります。 私はマルチノードカフカをセットアップしようとしていました(Active-Active)。ここでのシナリオは次のとおりです。 -kafkaマルチノードセットアップアクティブ - アクティブ

  1. 単一のZooKeeperを実行している(ポート:2181)
  2. が開始3カフカブローカー(9092,9093,9094)
  3. 単一のトピックのテストを作成します(パーティション:1、複製3)
  4. ブローカーリスト(9092,9093)を使用してプロデューサーを開始しました。
  5. 9092,9093,9094でコンシューマーを開始しましたが、すべて同じトピックを使用しています。

私はそれがすべての3人の消費者、

Q1で消費される生産者からのメッセージを送信していたときに今、私の疑問は、あります。それはメッセージを複製しているということですか?

q2。プロデューサが9092,9093で動作している場合、ポート9094のコンシューマがメッセージを消費しているのはなぜですか?それは同じトピック名を使用しているからですか?

q3。私がプロデューサからメッセージを送信しているときに、それを単一の消費者が消費すべきであることをどのように確認できるか? (私はグループ化を試みましたが、消費者が異なるグループにいる場合、メッセージを受信して​​います)。

q4。私が消費者の間でメッセージを配布したいのであれば、これをどのように達成できますか?

q5。単一のプロデューサと複数のコンシューマを使用してマルチノードkafka(Active-Active)を設定する他の方法はありますか?

ご了承ください。

+0

1.消費者は異なるグループに属している必要があります。メッセージを複数回読み取らないようにするには、group.id – dawsaw

+0

を設定します。2.ポートはサーバーポートです。お互いに話す3つの別々のブローカーを実行しています。どちらをブートストラップするかは問題ではありません。消費することで生産する際に必要なものにルーティングされます。 – dawsaw

+0

3.これにはコンシューマ・グループを使用する必要があります。 – dawsaw

答えて

0

私はコメントで答えましたが、これは本当にカフカの消費者グループについての理解の欠如につながる質問です。このフォーマットで議論するには時間がかかりすぎますので、ここで指示しますhttps://kafka.apache.org/documentation/#theconsumer

+0

疑いの余地がありますが、我々は5スレッド/それぞれ(2つの異なるシステム)を使用してコンシューマを実行していますが、テスト中にメッセージはサーバ上の1つのサーバで消費されます。私たちがスレッド数を2(各サーバーの単一のコンシューマ)に変更すると、うまくいきます。なぜあなたは5消費者/各サーバーを使用している間に他のサーバー上でメッセージを送信することができないのですか教えてください? – Rajarshi

関連する問題