SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2026 セッションレポート

フロントエンドでは完結しない?厄介な「2重リクエスト」の攻略HANDBOOK

【19-A-7】2重リクエスト完全攻略HANDBOOK

2重リクエストにおける「銀の弾丸」は存在しない

 2重リクエストという難題において、あらゆる状況を解決できる「銀の弾丸」は存在しない。フロントエンドでのボタン制御で発生確率を下げ、データベースのユニーク制約やロック機構で最終的なデータの整合性を死守し、さらにその中間層であるAPIエンドポイントにおいて、Idempotency-KeyやRate Limitを用いてドメイン特有のビジネスロジックを制御する。このように、異なるレイヤーで複数の防御網を張り巡らせるアプローチが、現代の複雑なWebシステムには不可欠である。

本講演で紹介した防御策

本講演で紹介した防御策

 また、技術選定において常に「実装コスト」と「障害発生時の運用コスト」の天秤を意識している点も大きな示唆を与えている。すべての機能に対してIdempotency-KeyやOne-Time Tokenといった高度で実装難易度の高い仕組みを導入することは、開発の遅延やパフォーマンスの劣化を招く。

 自社のサービスにおいて、どのデータがどの程度の一貫性を要求されるのか(例えば、SNSの「いいね」の重複と、銀行口座からの引き落としの重複では、求められる厳密さが全く異なる)を見極めることが肝要だ。

 スマートバンクにおける、バーチャルカードの異常発行に対して、複雑なロック制御を見送り、シンプルなRate Limitで解決を図った事例は、ビジネス上のリスクを評価し、最小の労力で最大の効果を得る「エンジニアリングの最適解」を体現していた。

本セッションで紹介した防御策を、2重リクエスト対策の拠り所に

 三谷氏は講演の最後に「今後あまり悩まなくてよい世界を目指したい」と語り、今回紹介した9つの手法を日々の業務の拠り所にしてほしいと呼びかけた。

 SaaSの普及やマイクロサービスアーキテクチャの浸透により、システムが単独で完結することは少なくなり、外部APIとの連携を前提とした開発が今後のスタンダードとなっていく。それに伴い、通信の不安定さや外部システムの挙動に起因する2重リクエストのリスクは、金融業界に限らずあらゆるビジネスドメインで増大していくことが予想される。

 今回のセッションで紹介された設計思想は、多くのサーバーサイドエンジニアにとって有用なものになるだろう。

この記事は参考になりましたか?

Developers Summit 2026 セッションレポート連載記事一覧

もっと読む

この記事の著者

中野 佑輔(編集部)(ナカノ ユウスケ)

 日本総合研究所を経て2025年よりCodeZine編集部所属。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山出 高士(ヤマデ タカシ)

雑誌や広告写真で活動。東京書籍刊「くらべるシリーズ」でも写真を担当。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/24154 2026/05/25 09:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング