第5章 トピック

Kafka のメッセージは常にトピックに送信または受信されます。本章では、Kafka トピックを設定し、管理する方法を説明します。

5.1. パーティションおよびレプリカ

Kafka のメッセージは常にトピックに送信または受信されます。トピックは常に、1 つまたは複数のパーティションに分割されます。パーティションはシャードとして機能します。つまり、プロデューサーによって送信されたすべてのメッセージは常に単一のパーティションにのみ書き込まれます。メッセージを異なるパーティションにシャーディングにより、トピックは水平的にスケーリングしやすくなります。

各パーティションにはレプリカを 1 つ以上設定できます。レプリカはクラスターの異なるブローカーに保存されます。トピックの作成時には、レプリケーション係数 を使用してレプリカ数を設定できます。レプリケーションファクターは、クラスター内で保持されるコピー数を定義 します。指定のパーティションのレプリカの 1 つがリーダーとして選択されます。リーダーレプリカはプロデューサーによって新しいメッセージを送信し、コンシューマーによってメッセージを消費するために使用されます。他のレプリカはフォロワーレプリカになります。フォロワーはリーダーを複製します。

リーダーに障害が発生した場合、フォロワーのいずれかが新しいリーダーに自動的に実行されます。各サーバーは、その一部のパーティションのリーダーとして機能し、他のコンポーネントのフォロワーであるため、負荷もクラスター内で均等に分散されます。

注記

レプリケーションファクターは、リーダーとフォロワーを含むレプリカ数を決定します。たとえば、レプリケーション係数を 3 に設定すると、1 つのリーダーとフォロワーレプリカが 2 つあります。