ApacheKafka-クラスターアーキテクチャ
次の図を見てください。Kafkaのクラスター図を示しています。
次の表で、上の図に示されている各コンポーネントについて説明します。
S.No | コンポーネントと説明 |
---|---|
1 | Broker Kafkaクラスターは通常、負荷分散を維持するために複数のブローカーで構成されます。Kafkaブローカーはステートレスであるため、クラスターの状態を維持するためにZooKeeperを使用します。1つのKafkaブローカーインスタンスは1秒あたり数十万の読み取りと書き込みを処理でき、各ブローカーはパフォーマンスに影響を与えることなくTBのメッセージを処理できます。Kafkaブローカーリーダーの選出はZooKeeperで行うことができます。 |
2 | ZooKeeper ZooKeeperは、Kafkaブローカーの管理と調整に使用されます。ZooKeeperサービスは主に、Kafkaシステムでの新しいブローカーの存在またはKafkaシステムでのブローカーの障害についてプロデューサーとコンシューマーに通知するために使用されます。ブローカーの存在または失敗に関してZookeeperが受け取った通知に従って、プロデューサーとコンシューマーが決定を下し、他のブローカーとのタスクの調整を開始します。 |
3 | Producers プロデューサーはデータをブローカーにプッシュします。新しいブローカーが開始されると、すべてのプロデューサーがそれを検索し、その新しいブローカーにメッセージを自動的に送信します。Kafkaプロデューサーはブローカーからの確認応答を待たず、ブローカーが処理できる速度でメッセージを送信します。 |
4 | Consumers Kafkaブローカーはステートレスであるため、コンシューマーはパーティションオフセットを使用して消費されたメッセージの数を維持する必要があります。コンシューマーが特定のメッセージオフセットを確認した場合、それはコンシューマーが以前のすべてのメッセージを消費したことを意味します。コンシューマーは、ブローカーに非同期プル要求を発行して、バイトのバッファーを使用できるようにします。コンシューマーは、オフセット値を指定するだけで、パーティション内の任意のポイントに巻き戻しまたはスキップできます。消費者オフセット値はZooKeeperによって通知されます。 |