3

私は新しい springframework 3.2 機能、サーブレット 3 非同期サポートについて読んでいました。

http://blog.springsource.org/2012/05/07/spring-mvc-3-2-preview-introducing-servlet-3-async-support

そして質問があります。

ブログ記事は、Spring が以下をサポートするようになったことを示しています。

  1. Callable を返すコントローラー
  2. callable はバックグラウンド スレッドで呼び出されます ( TaskExecutor)
  3. 応答はオープンのままです ( request.startAsync())。

述べられている動機は、すべての Web コンテナー スレッドを消費しないようにすることです。ただし、私の理解は次のとおりです。

  1. Web コンテナのスレッド プールは調整可能です。
  2. そのスレッド プールにはハード リミットがあります。これは、すべてのリソースを使い果たしてプロセスをダウンさせるよりも、サービスを低下させる方が望ましいためです (たとえば、無制限のスレッド プールと十分な数のリクエストで発生するように)。
  3. servlet-3/comet のポイントは、Web サーバーへの開いている接続の数を制限せずに、開いているスレッドの数を制限することです (スレッドは高価で、ソケットは安価であるため)。

したがって、Spring が提案している機能は、私にはほとんど意味がありません。コンテナーの境界付きプールの上にある無制限のスレッド プールをハッキングしているだけではありませんか? それはスレッド数を制限するという点を見逃していませんか?

4

0 に答える 0