私の連絡先情報
郵便メール:
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
ブローカ : Kafka クラスター内のノードを指します。 Kafka クラスターは、連携してメッセージの保存、送信、消費を処理する複数のブローカーで構成されます。 ブローカーは 1 つ以上のパーティションを管理します。
トピック : プロデューサは指定されたトピックにメッセージを送信し、コンシューマはトピックをサブスクライブしてメッセージを取得します。 トピック自体は単なる論理グループであり、物理ストレージの概念はありません。
パーティション : これは、Topic のサブセットであり、Kafka で実際にメッセージを保存および処理するための基本単位です。各トピックは複数のパーティションに分割でき、各パーティションは順序付けられた不変のメッセージ シーケンスです。
レプリカ: パーティションには複数のコピーを含めることができます。
リーダーブローカー: パーティションの複数のコピーの下で、そのパーティションに対するすべての読み取りおよび書き込みリクエストの処理を担当するブローカー。
フォロワーブローカー: パーティションの複数のコピーの下では、リーダーのデータの同期を担当するブローカーがパーティション内に配置されます。
プロデューサはメッセージ (レコード) を Kafka に送信し、コンシューマはオフセット (配列の添え字に似たオフセット) を通じてデータを取得します。
同時に、各パーティションには独自のログ ファイルが存在します。Kafka はログ ファイルを使用してデータをディスクに保存します。
プロデューサーは、Bootstrap Broker を通じて Kafka クラスターに接続します。このステップでは、初期接続を確立し、クラスターのメタデータを取得します。
プロデューサがこのメタデータを取得すると、各パーティションのリーダー ブローカーが誰であるかがわかるため、正しいリーダー ブローカーにメッセージを直接送信できます。
プロデューサーはメッセージを送信するときにトピックを指定する必要がありますが、パーティショニングはオプションです。
Kafka では、プロデューサーがブローカーにメッセージを送信するとき、ブローカーの最初の操作は、メッセージの永続性と信頼性を確保するためにメッセージをディスクに記録することです。
Kafka のコンシューマは通常、コンシューマ グループに属します。各コンシューマ グループには一意のグループ ID があります。コンシューマ グループの概念は、メッセージの負荷分散と並列消費を実現するために使用されます。
複数のコンシューマが同じグループに属している場合、Kafka はグループ内のコンシューマにトピック パーティションを割り当てます。各パーティションは、グループ内の 1 人のコンシューマーのみが使用できます。、負荷分散を実現できます。
1 人のコンシューマがトピックにサブスクライブします:
複数のコンシューマが同じグループに属している:
複数の消費者が異なるグループに属している:
Kafka はクラスター内に新しいパーティションを作成します。これらの新しいパーティションは、バランスの取れたストレージとデータの高可用性を実現するために、さまざまなブローカーに割り当てられます。 Kafka は、既存のパーティションから新しいパーティションにデータを自動的に再分散したりバランスをとったりしません。新しいパーティションは作成された時点から空であり、後続のプロデューサーがメッセージを送信するときにのみデータがこれらの新しいパーティションに書き込まれます。コンシューマ グループはパーティション数の変化を感知し、リバランスをトリガーします。
Kafka では、各パーティションに複数のレプリカ (レプリカ) を持たせることができ、それらは異なるブローカーに保存されます。 1 つのレプリカはリーダーと呼ばれ、すべての読み取りおよび書き込みリクエストの処理を担当します。他のレプリカはフォロワーであり、リーダーのデータの同期を担当します。
複数のコピーのうち、同時に読み書きできるのは 1 つのコピーだけです。これがリーダー コピーであり、他のコピーはフォロワー コピーとなり、バックアップとして使用されます。