カフカがデータを読み取るプロセスはどのようになっていますか?
カフカのデータ読み取りプロセスは、以下のようになります:
- KafkaのコンシューマーはKafkaブローカーにプルリクエストを送信し、最新のメッセージレコードを取得するようにリクエストを送ります。
- Kafka代理は、プルリクエストを受け取ると、消費者のオフセットを確認し、そのオフセットに対応するメッセージレコードを消費者に返します。
- 消費者がメッセージを受け取ると、そのメッセージを処理して適切なビジネスロジックを実行します。
- 消費者は、Kafkaプロキシにオフセットのコミットリクエストを送信し、処理済みメッセージのオフセットをKafkaプロキシに提出します。
- カフカプロキシはオフセットのコミットリクエストを受け取ると、そのオフセットを特定のトピック(__consumer_offsets)に保存して、消費者のオフセットを追跡します。
- 消費者が再びフェッチリクエストを送信すると、Kafkaブローカーは消費者が提出したオフセットに基づいて返却するメッセージレコードの位置を決定し、該当するメッセージレコードを消費者に返します。
- 同じ手順を繰り返して、継続的なメッセージ消費を実現する。