“ Jetty 6 Continuations”とはまた、プログラミング言語に見られる継続と比較してどうですか?
-
05-07-2019 - |
質問
「継続」について説明する回答を探しています。 Webサーバーのメカニズムとプログラミング言語。
私の理解では、継続を使用すると、「piの桁」を持つのは簡単です。プロデューサーは「piの桁」で通信します;コンシューマ、明示的なスレッド化なし。
Jettyの継続について非常に良いことを聞いたことがあります。他の人がどう思うか興味があります。
すでに答えを見つけたかもしれませんが、とにかくここで質問をしています-記録のためです。
解決
プログラミング言語の継続と比較してどうですか?
名前以外に共通点はありません。 Servlet
にその状態を保存および復元するためのAPIを与えることで現在のスレッドを解放するためのメカニズムにすぎませんが、実際の継続とは対照的にすべて手動で管理され、現在のコンテキストから状態が自動的に推測されます。
これが理にかなっている場合の典型的な例は、1つのサービスが他のサービスに対して多くの要求を行う必要がある階層化(構成)Webサービスであり、これらの要求が行われている間、現在のスレッドは解放されます。リクエストが完了すると(他のスレッドで非同期的に実行できます)、サーブレットの resume
メソッドが呼び出され、リクエストの結果から応答が集められます。
他のヒント
このページによると:
継続は次のように置き換えられます 標準のServlet-3.0サスペンド可能 仕様が決まり次第 確定しました。 Jetty-7の初期リリース を実装するようになりました 提案された標準の中断/再開API
Jettyをまだ使用していませんが、サーバーが「保留」している場合、通常、サーバーは各クライアントのスレッドを保持する必要がないようです。 (ブロッキングだと思います)AJAXで継続的にポーリングするクライアントに応答を送信する場合、各クライアントにスレッドが必要になります。これはスケーラビリティの問題になります。