web-dev-qa-db-fra.com

À quoi sert le protocole AJP?

D'accord, j'ai lu un petit article sur wiki qui explique un peu AJP. Fondamentalement, ce protocole est utilisé pour la communication entre Apache et le serveur d'applications. Mais pourquoi peut-on en avoir besoin en premier lieu? Pourquoi ne pas utiliser simplement http simple?

44
user1745356

Plus précisément, et pas vraiment couvert dans cet article ehow, il y a des frais généraux non triviaux pour analyser les en-têtes http sur les demandes et les créer sur les réponses. Si vous utilisez votre serveur d'applications avec un serveur proxy Web, AJP vous permet d'ignorer cette analyse supplémentaire et de simplement passer des représentations binaires efficaces des en-têtes entre le serveur proxy et le serveur d'applications. Il existe d'autres avantages, comme des pools de connexions simples et une intégration étroite si vous utilisez Apache/mod_jk pour Tomcat.

Client <- http/s-> Proxy <- http/s -> App

contre

Client <- http/s-> Proxy <- AJP -> App

39
Ian McGowan

AJP (Apache Jserv Protocol) est fondamentalement un protocole binaire qui permet d'inverser les requêtes de proxy d'un serveur Web FE vers un serveur d'applications BE, propageant efficacement toutes les informations nécessaires à faire le flux Req-Res se poursuit avec succès. Souvent, AJP est utilisé pour charger l'équilibre à l'aide de politiques de session persistante: grâce aux données d'en-tête transférées, le serveur Web FE peut charger l'équilibre sur les homologues BE en utilisant des modules spécifiques (comme, mod_jk).

AJP est utilisé principalement parce que:

  1. c'est plus performant que tout échange HTTP,
  2. il est intégré à des modules de proxy inverse largement utilisés (c'est-à-dire mod_jk, mod_proxy),
  3. L'implémentation de Tomcat fournit un ensemble riche d'API qui est transversal au protocole: les données HTTP (s) sont propagées de manière transparente et peuvent être récupérées avec de simples appels d'API (getXYX canonique (), très efficace et immédiat), c'est donc comme travailler avec HTTP à un vitesse plus élevée.

En définitive, je dirais que c'est une solution éprouvée avec près de 20 ans de maturité sur les épaules: elle est utilisée avec succès dans des environnements de production.

21
Paolo Maresca

Semble la réponse que je cherchais est perfomance

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

7
user1745356