Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。APIを利用したWebアプリケーションを開発します。APIからキーワードに関連したデータが返却されます。APIは1秒間に1回のリクエスト制限があります。したがって複数の利用者からの同時大量アクセスがあった場合、リクエスト制限が発生します。APIへのリクエストを1秒間1回に収めるために、Webアプリケーションへのアクセスを順番待ちで捌くような制御をする必要があると考えています。下記のような対策方法案があります。APIへリクエストを実施し、クライアントへレスポンスを返す順番待ちテーブルから対象レコードを削除この対策方法(設計)は適切でしょうか?APIリクエスト超過に対して他に良い対策が思いつかず、この対策方法・設計で進めていいのか悩んでいます。※システム構成ロードバランサにWebサーバ複数台(Nginx)をぶら下げます。APIへのリクエストを節約するためWebサーバではキャッシュを利用します。APIへのリクエスト数を抑える方法は現実的でないため考えていません。個の銅バッジ待ち受けキューに突っ込む役割と外部apiをcalする役割を分割して、非同期にすればいかがですか?今のまま(キューへの投入とリクエストを同一のアクターがこなす方式)だと、テーブルのコミット前に次のリクエストが来ると、要件を満たせないです。コメントありがとうございます。私の理解が足りず解釈が難しいので確認させてください。外部APIはWebアプリケーション経由でコールします。6:393つ作ります。現状のapiこれは、一旦後続のapiへのキューに問い合わせをプッとだけして呼び出しもとに反りますこの時、呼び出しを一意に決定できるIDを作成します。これは、シーケンスを利用すれば簡単でしょう、二つ目はキューを1秒感覚でポーリングする常駐プロセス。1びょうごとにゲットして、後続のapiに問い合わせ,その結果をデータベースに格納します。三めは結果紹介のapi,引数に前述のIDを添えてデータを引き出します。後続の処理があればここで実装します。ありがとうございます。票2うえでコメントした内容を図にしてみました。個の銅バッジとても見やすい図ですが1点だけ、「皇族」は「後続」の間違いですかね。15:341ご指摘ありがとうございます。お恥ずかしいtypoを。修正させていただきました。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。