通常、Tomcat ではスレッドが実行され、リクエストが来ると、リクエストを処理する責任をスレッド プールのスレッドに割り当てます。
スケーラビリティの観点から、そのメインスレッドがブロックされているか、ブロックされていないかは重要ですか?
通常、Tomcat ではスレッドが実行され、リクエストが来ると、リクエストを処理する責任をスレッド プールのスレッドに割り当てます。
スケーラビリティの観点から、そのメインスレッドがブロックされているか、ブロックされていないかは重要ですか?
ノンブロッキング IO には次の利点があります。
着信要求がtomcatで処理されると、スレッドプールからスレッドに接続が割り当てられます。
ここで重要なのは、スレッドをできるだけ速く実行することです。通常、このスレッドでは、ファイルio、dbなどに対してブロッキングio呼び出しを実行します。
予想されるトラフィックを処理するには、このスレッドプールのサイズを適切に調整する必要があります。
基本的に、Java EEサーブレット仕様を使用する場合、着信接続ごとに1つのスレッドで要求を処理する必要があります。
そこにいくつかのノンブロッキングフレームワークがあります。http://www.playframework.org/とJettyをチェックしてください(デフォルトではJettyのノンブロッキング?)