検索

ホームページ  >  に質問  >  本文

nginx - REST API の呼び出しに関して、http リクエストの 3 分の 1 が失敗してタイムアウトしました。

Tomcat 8.0 サーバーが nio モードで使用されます。その他はデフォルト設定です。
Spring mvc の残りの部分を使用してインターフェイスを作成し、httpclient によって実装された接続プールを通じて、resttemplate を使用してインターフェイスを呼び出します。 1,000 件のリクエストが同時に行われた場合、一部のリクエストがタイムアウトしたことが判明しました。アクセス障害の原因となります。 <しかし、一部のリクエストがタイムアウトになったため、アプリケーションはハングアップしませんでした>。

システム全体のアーキテクチャは次のとおりです。
アプリケーション A、B、C の 3 つがあります。
C はデータベースの操作、インターフェイスの提供、JSON の返しを担当します。
B はビジネスの処理と提供を担当します。インターフェイス、JSON の返し、C のインターフェイスの呼び出し、データの保存/読み取り
A はフロント デスクを担当し、B のインターフェイスを呼び出します。
A が B を呼び出すと、複雑なバランシングが nginx を通じて行われ、B サーバーが 2 つあります。

すみません、タイムアウトが発生する可能性のある状況は何ですか?

过去多啦不再A梦过去多啦不再A梦2783日前695

全員に返信(2)返信します

  • 習慣沉默

    習慣沉默2017-05-16 17:22:58

    B は C を呼び出して、データベース側であるかどうかを確認します。

    返事
    0
  • 仅有的幸福

    仅有的幸福2017-05-16 17:22:58

    まず問題がどのステップにあるのかを特定し、それを詳細に分析します。各インターフェース呼び出しの消費時間を印刷できます

    返事
    0
  • キャンセル返事