NK-RELAY / 自社試作
API連携の技術検証
API連携で通信に失敗した場合や、同じデータが繰り返し送られた場合の動作を検証します。自社試作「NK-RELAY」の試験結果を以下に掲載しています。個別の検証・実装は、事業者向けに承ります。
試作に実装した機能
- 送信元・内容の確認
- HMAC-SHA256 / 本文検証 / 一意制約
- 処理待ちデータの保存
- SQLite / 原子的claim / 処理リース
- 再送と復旧
- 指数バックオフ / DLQ / 監査履歴
55 / 55
コア29件+ローカルHTTP26件・全件合格
合成データ・v0.2/2026.09.05
障害を再現したテストの結果
Pythonで書いた処理部分と、HTTP通信による送受信を検証しました。同じコンピューター内に受信口と模擬の連携先を用意し、架空のデータを送った試験です。
4件のイベントのうち3件が成功し、1件は失敗したデータの退避先(DLQ)に保存されました。連携先のデータベースを開き直しても、成功した3件が残っていることを確認しています。保存後に応答だけが失われたケースでは、送信は2回、保存は1件でした。下表に処理部分とローカルHTTP通信の主な試験結果をまとめています。
| 起こしたこと | 確認結果 | 処理の意味 |
|---|---|---|
| 同じイベントを再送 | 初回202・再送200 | 新しいジョブを増やさず、再送履歴を記録 |
| 同じIDで本文を変更 | 409 / conflict | 別内容へのすり替えを検出して拒否 |
| 署名の偽造 | 401 / rejected | イベントを保存せず拒否 |
| 下流が1回だけ失敗 | 2回目で成功 | 待機時刻を進め、同じ冪等キーで再試行 |
| 下流保存後に応答だけ喪失 | 送信2回・保存1件 | ローカル下流DBの原子的な冪等処理で重複を防止 |
| 下流が失敗し続ける | 3回でDLQへ | 無限に再送せず、要確認の状態で保持 |
| ワーカーが停止 | リース回収 | 期限切れ処理を回収し、旧所有者の完了記録を拒否 |
並行処理と再起動も検証
16件の同時受信で初回登録は1件。20回の同時claimで8ジョブの所有重複なし。DB再オープン、保存途中のロールバック、下流成功直後の停止もテストしています。
連携先と合わせて重複を防ぐ
再試行は at-least-once 型です。同じ処理が複数回届くことを前提に、連携先での永続的な冪等処理や照合設計を組み合わせ、業務上の二重処理を防ぎます。
試験環境と記録方法
HTTP試験の通信先は127.0.0.1に限定し、DNS・プロキシ・リダイレクトは使用していません。本文サイズ、通信期限、応答のイベントID・冪等キーを検査しています。実行日時とソースコードのハッシュ値を記録し、試験の前後でソースコードが変わっていないことも確認しています。
自社試作(独自署名仕様)のローカル検証結果です。実サービスへの接続は、各APIの仕様に合わせて個別に設計・検証します。
1経路を対象とした
技術検証
EC、CRM、社内ツール間の連携を想定。対象APIの仕様と権限を確認してから、実装可能な範囲を見積ります。
料金・納期は個別見積り
初回相談は無料です。対象APIとご希望の範囲を伺い、料金・納期をご提案します。
- 検証する範囲
- 入力1種類・出力1種類・イベント仕様1種類を基本に、重複・タイムアウト・再試行・復旧の受入条件を定めます。
- 納品物
- 合意範囲のソースコード、自動テスト、実行手順、障害再現結果、適用条件・本番化に向けた設計事項。模擬連携と実API連携を区別して記録します。
- 本番化に向けた設計
- 公開HTTP層、実サービス用アダプター、認証・権限分離、暗号化、監視、負荷試験、バックアップ、継続保守。試作から次の段階へ進む際に、ご利用環境に合わせて個別に設計する項目です。
- 検証用のデータと環境
- 初期検証には合成データ、または利用許可をいただいた検証データを使います。実決済や本番データの変更を伴わない環境で、対象範囲を区切って検証します。
- 受注前の合意
- 対象環境、業務範囲、税込総額、納期、検収条件、修正範囲、取消・返金、ソースコードの利用権、情報の扱いをメールまたは書面で確定します。相談だけで契約・課金は発生しません。
API連携・技術検証のご相談
仕様書がまだなくても、システム名・困っている現象・件数の目安から、進め方をご提案します。APIキー、パスワード、個人情報入りのログは送らないでください。
実装とテストにはAIを利用し、納品は主にオンラインで行います。コードや資料をAI・外部ツールで扱う範囲は、着手前にご相談します。
メールでのご相談
相談内容は進め方のご提案・見積り・回答に利用します。個人情報保護方針をご確認ください。
分かる範囲でご記入ください。未定の項目はそのままで構いません。
この欄への入力は送信・保存されません。下のボタンでメールを作成し、内容をご確認のうえ送信してください。
Gmailで作成(新しいタブ)宛先:info@nishikinomiya.com