Kafka: コンシューマーグループのリバランスを高速化
少し昔を振り返ってみましょう。昔(Kafka 2.4以前)の時代、コンシューマーグループのリバランスは全てか無かの選択でした。リバランスが始まると、グループ内のすべてのコンシューマーは次のことを行いました: 1. メッセージの処理を停止する 2. すべてのパーティションを解放する 3. グループコーディネーターが新しいパーティションを割り当てるのを待つ 4. 新しいパーティションのオフセットを取得する 5. 処理を再開する この「世界を止める」アプローチは、ラッシュアワーのマンハッタンで大型トラックを駐車しようとするようなものでした。処理の遅延を引き起こし、慎重に扱わないとメッセージの重複処理を引き起こす可能性がありました。 インクリメンタル協調リバランスの登場 Kafka 2.4は画期的な変化をもたらしました:インクリメンタル協調リバランス。このアプローチは、あの不格好な大型トラックから機敏な電動スクーターの艦隊にアップグレードするようなものです。以下がその仕組みです: * 影響を受けたコンシューマーのみが処理を一時停止する * パーティションは複数の小さな...