Jettyは各種高速化技術を搭載することで、高スループット性能を実現しています。
Jettyでは、非同期サーブレット+非同期HTTPサーバとして、クライアントからのリクエストに対し、待機が非同期に行われるため、スケーラビリティとサービス品質が大幅に向上します。
Jettyは、非同期HTTPクライアントとして、自身から外部のサーバに向けて、HTTPリクエストを非同期に送受信できます。
Jettyは、RFC 7540で定義されている「HTTP/2プロトコル」のクライアントとサーバの両方の実装をサポートしています。
「HTTPヘッダ圧縮」「HTTP/2サーバプッシュ通信」「HTTPパイプライン」などの仕組みにより従来プロトコルよりも高速な通信が可能です。
→Jetty →doc →Part III. Jetty Administration Guide →Chapter 16. HTTP/2
「FastCGI」は、Webサーバと通信するために使用されるネットワークプロトコルです。
FastCGIサーバは、動的Web言語(PHP、Python、Ruby、Perlなど)によって生成されたWebコンテンツの配信にも使用されます。
FastCGIをサポートするWebサーバとして、「Apache」「Nginx」「Jetty」などがあります。
①Webサーバはプロキシとして機能し、クライアント(ブラウザ)から受信したHTTP要求をFastCGIサーバに転送されるFastCGI要求に変換して、FastCGIサーバに渡します。
②FastCGIサーバは、動的Web言語インタプリタを起動します。
③動的Web言語インタプリタは、FastCGI要求に含まれる情報からWebコンテンツ(HTML)を生成します。
④FastCGIサーバは、作成されたWebコンテンツをWebサーバに返されるFastCGI応答にフォーマットして、Webサーバに渡します。
⑤WebサーバはFastCGI応答をHTTP応答に変換してからクライアントに返します。
Jettyは、FastCGIをサポートするWebサーバとして機能するように構成できます。
これによりユーザーは「HTTP/2などのJetty機能」「JettyがHTTP/2プッシュに対して提供する独自のサポート」「Jettyのスケーラビリティ」「サーブレット」「JSPなどのJava Web標準に対するJettyのネイティブサポート」などを利用できます。
HTTP/2対応のクライアントからのHTTP/2要求を待ち受け、それらをFastCGI要求としてFastCGIサーバに転送する場合は、http2モジュールを有効にする必要があります。
→Jetty →doc →Part III. Jetty Administration Guide →Chapter 17. FastCGI Support
OSS×Cloud ACCESS RANKING