いつ読むか?

  • Amazon MSK で CDC や Event Sourcing をやりたいとき

読書メモ

概要

ZOZOがマイクロサービス移行時に、配送サービスと基幹システム間の非同期データ同期をCDCで実現した事例。

アーキテクチャ

  • Outboxパターン + Debezium を採用
  • Aurora MySQL → MSK Connect (Debezium) → Amazon MSK (Kafka) → Event Consumer

重要ポイント

  • イベントは集約IDでパーティション分割(主キーではなく)→ 関連イベントの順序保証
  • コンシューマはシーケンス番号で冪等性を担保
  • MSK Connectの再デプロイは約15分かかる(完全再作成が必要)
  • 例外処理は指数バックオフ(最大60秒)、失敗時はDBにログ

活用場面

  • マイクロサービス間の非同期データ同期
  • 下流サービス障害時も独立運用が必要な場合
  • マネージドKafkaでイベント駆動アーキテクチャを構築する場合