Kafka のアーキテクチャ
Apache Kafka 入門
Mike Metzger
Data Engineering Consultant
Kafka のコンポーネント
Kafka サーバー
1 台以上のコンピュータで構成されるクラスター
データを保存
通信を管理
他システム(データベース、ログ等)と連携可
Kafka クライアント
Kafka コンシューマで読む
Kafka プロデューサで書く
必要に応じて処理
Kafka サーバー
ストレージ(Kafka ブローカー)
プロデューサが書いたデータはトピックで保存・整理
トピックはパーティションに分割
メッセージ/イベントはイベント ID に基づきパーティションに格納
取得順序は書き込み順と同じ
1
Image sourced from https://kafka.apache.org/intro
パーティションと複製
Kafka はフォールトトレラント
1 台がオフラインでも他がデータを提供
許容故障数 = 複製係数 - 1
最大複製係数 = サーバー台数
パーティションのコピーで複製を実現
例
3 台のブローカーからなる Kafka クラスター
3 つのトピックを定義
複製 2x == 1 台まで故障許容
ブローカー1はトピック1・2のコピー
ブローカー2はトピック2・3のコピー
ブローカー3はトピック1・3のコピー
各トピックはクラスター内の 2 台のブローカーで共有
1 台故障の例
ブローカー2が故障
複製係数 2x
2 - 1 == 1 台の故障に対応可
各トピックはクラスター上に少なくとも 1 コピー残る
2 台故障の例
ブローカーが 2 台故障
複製係数 2x
許容以上の故障(1 台まで)
トピック2がクラスターで利用不可
トピック1・3は利用可能。全停止ではない
演習に進みましょう!
Apache Kafka 入門
Preparing Video For Download...