Apache-kafka-cluster-architecture

提供:Dev Guides
移動先:案内検索

Apache Kafka-クラスターアーキテクチャ

次の図をご覧ください。 Kafkaのクラスター図を示しています。

クラスターアーキテクチャ

次の表は、上の図に示されている各コンポーネントについて説明しています。

S.No Components and Description
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によって通知されます。