0

私が有効な質問をしているかどうかわかりません! しかし、突然この疑問が生じたので、疑問を解消しようとしました。

実行中の 2 つの tomcat があり、クライアントがサーブレットを要求し、この要求が tomcatA によって処理され、同時に最初の要求に依存するもう 1 つの要求が tomcatB によって処理される場合、Tomcat がデータを共有する方法を知りたいとします。それらの間??最初のリクエストが完全に処理されるまで、2番目のリクエストは一時停止されますか??

前もって感謝します

4

1 に答える 1

0

これを行うには多くの方法があり、あなたの質問は非常にオープンエンドであるため、投票が終了しても驚かないでしょう。それまでの間、Tomcat インスタンス間でデータを「共有」する方法がいくつか考えられます。

  1. memcached
  2. JMX
  3. 古き良きリレーショナル データベース
  4. ソケットなどを介して直接通信する手動通知システム。

あるリクエストが別のリクエストの完了を「待機」することに関しては、ここから危険が始まります。システムにデッドロックを簡単に設計して、すべてのリクエストが別のリクエストを待機している間にクラスタ全体をロックアップすることができます。

複数のクライアントが互いの作業が完了するのを待ってから作業が完了するというユースケースは想像できませんが、クライアントは前提条件データの欠落を容認しません。

于 2013-01-30T17:51:59.720 に答える