01 / 重複を区別
同じイベントを2回送ります。内容が同じなら重複として扱い、同じIDで内容が違う場合は競合として処理を止めます。
受信202 → 重複200/競合409
NK-RELAY LAB / Python
Webhookの署名検証、重複処理、再試行を学ぶためのPython教材です。架空のデータを送り、通信エラーが起きたときに送信側と受信側がどう動くかを確かめられます。
実験は手元のパソコン内で行います。通信先は127.0.0.1で、外部のサービスには接続しません。
同じイベントを2回送ります。内容が同じなら重複として扱い、同じIDで内容が違う場合は競合として処理を止めます。
受信202 → 重複200/競合409
模擬の送信先に保存された後で、応答が途切れる状況を再現します。同じ処理を識別するキー(冪等キー)を付けて再送し、結果を確認します。
模擬送信先:送信2回・保存1件
一時的なエラー(503)と再送しても解消しないエラー(422)を比べます。再送の上限、失敗したデータの退避先(DLQ)、記録を残して再実行する手順を確認します。
成功3件・DLQ1件のデモ
「送信2回・保存1件」は、同梱の模擬送信先が冪等性を実装した結果です。独自のWebhook仕様を使い、再試行と受信側の重複対策を組み合わせる仕組みを学べます。実サービスへの接続は、各APIの仕様に合わせた個別実装が必要です。
送信側が応答を受け取れなくても、受信側の処理は完了していることがあります。安全な再送には、再試行だけでなく「同じ仕事を識別するキー」と「処理結果を一度だけ保存する送信先」の組合せが必要です。送信側と受信側、それぞれの処理結果を確認します。
当社の試作プログラムを使った教材です。制作にはAIを使用し、記載の環境で動作を確認しています。
以下は購入済みのお客様向けに、販売時の納品・利用許諾・不備対応の条件を掲載したものです。新規の申込み・決済は受け付けていません。
支払成功日の翌営業日18時までにZIPをメール納品します。納品後のお客様都合の返品は不可。同梱不備には上記条件で修正・返金対応します。事業用の学習教材であり、本番運用システムや個別開発ではないことをご確認ください。
新規購入受付は一時停止しています。購入済みのお問い合わせは引き続き承ります。
現在、新規の決済は受け付けていません。購入済みの方は重ねて支払わないでください。個人情報保護方針
自社の実際の連携1経路を検証したい場合は、別商品の個別技術検証をご確認ください。本教材の購入は必須ではありません。