web-dev-qa-db-ja.com

AJPプロトコルは何に使用されますか?

さて、AJPについて少し説明したwikiの小さな記事を読みました。基本的に、このプロトコルはApacheとアプリケーションサーバー間の通信に使用されます。しかし、そもそもなぜそれが必要なのでしょうか?単なるプレーンHTTPを使用しないのはなぜですか?

44
user1745356

より具体的には、そのehow記事で実際には説明されていませんが、リクエストでhttpヘッダーを解析し、レスポンスで作成するための重要なオーバーヘッドがあります。 Webプロキシサーバーをアプリサーバーの前に置く場合、AJPを使用すると、余分な解析をスキップして、プロキシサーバーとアプリサーバーの間でヘッダーの効率的なバイナリ表現を渡すことができます。 Apache/mod_jkをTomcatに使用する場合、単純な接続プールや緊密な統合など、他にも利点があります。

クライアント<-http/s->プロキシ<-http/s->アプリ

クライアント<-http/s->プロキシ<-AJP->アプリ

39
Ian McGowan

AJP(Apache Jserv Protocol) は基本的に バイナリプロトコル であり、FE WebサーバーからBEアプリケーションサーバーへのリクエストのリバースプロキシを可能にし、必要なすべての情報を効果的に伝播します。 Req-Resフローは正常に続行します。多くの場合、AJPはスティッキーセッションポリシーを使用した負荷分散に使用されます。転送されたヘッダーデータのおかげで、FE Webサーバーは特定のモジュール(mod_jkなど)を使用してBEカウンターパートの負荷分散を行うことができます。

AJPは主に次の理由で使用されます。

  1. hTTP交換よりもパフォーマンスが高いため、
  2. 広く使用されているリバースプロキシモジュール(mod_jk、mod_proxyなど)と統合されています。
  3. Tomcatの実装は、プロトコルトランスバーサルである豊富なAPIのセットを提供します。HTTP(s)データはシームレスに伝播され、単純なAPI呼び出し(標準のgetXYX()、非常に効果的かつ即時)で取得できます。より高速。

間違いなく、ほぼ20年の成熟度を誇る実証済みのソリューションであり、実稼働環境での使用に成功しています。

21
Paolo Maresca

私が探していた答えはperfomance

http://www.ehow.com/facts_7181755_ajp-protocol_.html

7
user1745356