第5章 トピック
Kafka のメッセージは、常にトピックとの間で送受信されます。本章では、Kafka トピックを設定および管理する方法を説明します。
5.1. パーティションおよびレプリカ
Kafka のメッセージは、常にトピックとの間で送受信されます。トピックは、常に 1 つ以上のパーティションに分割されます。パーティションはシャードとして機能します。つまり、プロデューサーによって送信されたすべてのメッセージは、常に単一のパーティションにのみ書き込まれます。メッセージの異なるパーティションへのシャーディングにより、トピックを容易に水平的にスケーリングできます。
各パーティションには、クラスター内の異なるブローカーに保存される 1 つまたは複数のレプリカがあります。トピックの作成時に、レプリケーション係数 を使用してレプリカ数を設定できます。レプリケーション係数 は、クラスター内で保持するコピーの数を定義します。あるパーティションのレプリカの 1 つが、リーダーとして選択されます。リーダーレプリカは、プロデューサーが新しいメッセージを送信するのと、コンシューマーがメッセージを消費するのに使用されます。他のレプリカはフォロワーレプリカです。フォロワーはリーダーをレプリケートします。
リーダーが失敗すると、フォロワーの 1 つが新しいリーダーに自動的になります。各サーバーは、一部のパーティションのリーダーおよび他のパーティションのフォロワーとして機能し、クラスター内で負荷が均等に分散されます。
レプリケーション係数は、リーダーとフォロワーを含むレプリカ数を決定します。たとえば、レプリケーション係数を 3
に設定すると、1 つのリーダーと 2 つのフォロワーレプリカが設定されます。