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?
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
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:
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.
Semble la réponse que je cherchais est perfomance