Kafka の Consumer group と Rebalance (Spring Boot)
Kafka の Consumer group による Partition 割り当てと Rebalance の仕組みを理解し、Spring Boot での対応方法を学びます。
Kafka の Consumer group による Partition 割り当てと Rebalance の仕組みを理解し、Spring Boot での対応方法を学びます。
Debeziumを使ってPostgreSQLのWALを読み込み、すべてのデータ変更をKafkaにプッシュし、Spring Bootで消費。データ書き込みコードの変更は不要です。
Spring BootとKafkaでorchestration型のSagaパターンを実装。飛行機チケット、ホテル、支払い予約と、ステップ失敗時の自動補償。
データベース書き込みとKafka送信を同時に実行するとイベントが失われやすいです。本記事ではSpring Boot 3とKafkaを使用してOutbox patternを設定し、両者を常に一致させる方法を説明します。
Consumer lagの概要、CLIやAdminClient、Micrometerでの測定方法、broker/producer/consumerの監視指標、適切なアラート設定について説明します。
Kafkaプロデューサーの acks, enable.idempotence, batch.size, linger.ms を設定してメッセージの損失がなく、重複がなく、高いスループットを実現する
Confluent Schema RegistryをAvroやProtobufと組み合わせてSpring Boot 3で使い、Kafkaメッセージフォーマットを管理し、スキーマの安全な進化を実現します。
Kafkaを注文のイベントログとして使用:不変のイベントを記録し、リプレイして状態を再構築し、プロジェクションで読み取りモデルを作成します。適用前に知っておくべき制限事項も含まれています。
Rebalanceのしくみ、Consumerがメッセージ処理を停止する理由、poll設定、Cooperative Rebalancing、Static Membershipによる最小化方法を解説します。
Kafkaがキーからパーティションを選ぶ仕組み、メッセージの順序を保ちながらホットパーティションを作らないキーの選び方、およびSpring Bootでよくある落とし穴について解説します。
Spring Boot 3でのKafkaコンシューマーのブロッキング・非ブロッキングリトライ設定、エラーメッセージをデッドレターコピックに送信、動作検証テストの作成方法を解説します。
acks、retries、idempotenceがどのように連携して、producerがKafkaにデータを送信する際にメッセージが失われたり重複したりしないようにするのかを学びます。
Kafkaの基本的な3つの概念——Topic、Partition、Offset——をSpring Bootの例を交えて解説します。