kafkaのマスター・スレーブレプリケーションの仕組みとは?
カーフカにおける主従レプリケーションの実装はリーダーレプリカ方式で行われています。その仕組みは次のとおりです。
- Kafka クラスタの各トピックパーティションにはリーダーレプリカと複数のフォロアレプリカがあります。
- リーダーレプリカは、プロデューサーからの書き込み要求とコンシューマーからの読み取り要求を処理する責任を負う。
- フォロワーレプリカはリーダーレプリカからデータをパッシブに複製します。
- リーダーレプリカは書き込みデータをログの末尾に追加しフォロワーレプリカに送信する
- フォロワレプリカは受け取ったデータをローカルログに書き込み、リーダーレプリカに確認メッセージを送信します。
- リーダーレプリカは、多数のフォロワーレプリカからコミット承認を受けると、データを複製できたとみなします。
- リーダーレプリカが障害または利用不能になると、フォロワーレプリカの1つが新しいリーダーレプリカとして選出され、要求処理を継続します。
- 新しいリーダーレプリカの選出が完了すると、他のフォロワーレプリカは新しいリーダーレプリカからデータのレプリケートを開始します。
この仕組みによって、Kafkaはデータの高い可用性とフォールトトレランスを実現しています。リーダーレプリカに障害が発生した場合、システムは新しいリーダーレプリカを自動的に選出し、データの喪失やサービスの中断が発生しません。さらに、複数のフォロワーレプリカが存在することで、さまざまなレプリカからデータを読み取ることができ、読み取りパフォーマンスが向上します。