SRE Journey
← 記事一覧
国内企業GMOペパボ (Pepabo Tech Portal)

カラーミーショップのWebhook開発で見えた、届けることと守ることの設計判断

カラーミーショップのWebhook送信基盤の設計判断と防御策

GMOペパボ

要点

  • 受注通知はthin payload(IDのみ)で送り、取りこぼしはupdate_date_min/maxによるAPI照合で補う。形式はStandard Webhooksに準拠し、署名検証やメッセージIDによる重複排除を配信先に委ねる。
  • Outboxパターンを採用し、コミット直後に配信ジョブを直接エンキューする。ポーリングやCDCは遅延・運用負担から見送り、未エンキュー分と未完了分を拾う2段階の補償バッチを用意した。
  • リトライ期限は在庫連携などの即時性と障害復旧の余地から決め、間隔にランダムな揺らぎを加える。配信状況と試行履歴は分けて記録し、問い合わせ対応と補償バッチに使う。
  • k6の負荷テストで既存ワーカーでは配信がキュー待ちで遅れると判明し、専用ワーカーとキューに分離した。応答待ち中心のためSidekiqの並行数を増やし、台数は固定でオートスケールは見送った。
  • SSRF対策として登録時と配信時に検証し、名前解決したIPへそのまま接続してDNS rebindingを防ぐ。また各工程と全体のタイムアウト、レスポンスのサイズ上限、Accept-Encoding: identityによる圧縮展開の抑止も実施している。

元記事:カラーミーショップのWebhook開発で見えた、届けることと守ることの設計判断(GMOペパボ (Pepabo Tech Portal))↗