Desde hace muchos años, hemos estado utilizando un servidor Apache con el complemento Mod_wl para equilibrar las sesiones hacia múltiples servidores web backend de Weblogic.
Ahora, después de un tiempo, también comenzamos a usar el mismo Apache para invertir el proxy hacia otras aplicaciones internas. Entonces, ahora me pregunto por qué estamos usando mod_wl y no solo el servidor Apache, su propio mod_proxy y mod_proxy_balancer para equilibrar nuestros propios servidores web backend de Weblogic.
¿Hay algún beneficio para este complemento propietario? ¿O fue que hace años no era tan fácil lograr lo mismo solo con Apache Config? Probé una configuración sin el complemento Mod_wl para algunas pruebas y parece estar funcionando bien solo para la permanencia de la sesión. Parece que tuve que agregar una nueva cookie a través de Apache ya que no funciona con nuestro J2SESSIONID existente establecido por Weblogics para algunos razón.
Entonces lo siguiente
Header add Set-Cookie "J2ROUTE=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
<Proxy balancer://backends>
BalancerMember http://localhost:9001 route=1
BalancerMember http://localhost:9002 route=2
ProxySet stickysession=J2ROUTE
</Proxy>
parece hacer lo mismo que esta configuración anterior usando mod_wl:
SetHandler weblogic-handler
WebLogicCluster localhost:9001,localhost:9002
WLCookieName J2SESSIONID
Por supuesto, esta es una configuración de ejemplo simplificada. Entonces, ¿no estás seguro de seguir usando el complemento propietario mientras funciona? ¿No cambiar un equipo ganador? O vaya a la solución Apache de código abierto.
Respuesta1
El complemento weblogic "habla" con el clúster de backend y actualiza la lista de backends disponibles que cualquier miembro del clúster informa, ya que puede tener varios miembros nuevos del clúster sin tener que tocar la configuración relacionada con Apache en absoluto.
Oracle también anuncia WLSRequest como una forma más ágil o menos pesada de especificar una determinada ubicación de servidores proxy inversos para Weblogic que el método "SetHandler".
Habiendo dicho esto, mod_wl es de un tercero y hasta ahora ha demostrado tener problemas con el evento mpm, ya que cuando ejecuta un reinicio elegante, seguramente colgará los procesos utilizados en un ciclo final de finalización elegante hasta que emita un reinicio real, puede Tampoco uses maxconnectionsperchild o perderás hijos con el tiempo debido al mismo afecto (creo que los desarrolladores de httpd están trabajando para solucionar esto en la versión 2.4.33 que está a punto de ser lanzada).
Por lo tanto, revisaría los documentos de Oracle y probaría ambas opciones, pero últimamente también me inclino por la opción que no es de terceros, es decir, usar mod_proxy.
Me encantaría que me informaras después de intentarlo.