Apache-Balancing gegenüber Weblogic-Backends, mod_wl vs. mod_proxy_balancer

Apache-Balancing gegenüber Weblogic-Backends, mod_wl vs. mod_proxy_balancer

seit vielen Jahren verwenden wir einen Apache-Server mit Mod_wl-Plugin, um Sitzungen auf mehrere Backend-Weblogic-Webserver zu verteilen.

Nach einiger Zeit haben wir nun auch begonnen, denselben Apache als Reverse-Proxy für andere interne Anwendungen zu verwenden. Daher frage ich mich jetzt, warum wir überhaupt mod_wl verwenden und nicht einfach den Apache-Server, seinen eigenen mod_proxy und mod_proxy_balancer, um den Ausgleich zu unseren eigenen Backend-Weblogic-Webservern zu gewährleisten?

Hat dieses proprietäre Plugin irgendeinen Vorteil? Oder war das vor Jahren mit Apache Config allein nicht so einfach zu erreichen? Ich habe zu Testzwecken ein Setup ohne das Mod_wl-Plugin ausprobiert und es scheint ganz gut zu funktionieren. Nur für die Session Stickyness musste ich anscheinend ein neues Cookie über Apache hinzufügen, da es aus irgendeinem Grund mit unserer bestehenden J2SESSIONID, die von Weblogics festgelegt wurde, nicht funktioniert.

Das Folgende

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>    

scheint dasselbe zu tun wie diese vorherige Konfiguration mit mod_wl:

 SetHandler weblogic-handler
 WebLogicCluster localhost:9001,localhost:9002
 WLCookieName J2SESSIONID

Dies ist natürlich eine vereinfachte Beispielkonfiguration. Sie sind sich also nicht sicher, ob Sie das proprietäre Plugin weiterhin verwenden sollen, da es funktioniert. Ändern Sie nicht ein erfolgreiches Team? Oder wechseln Sie zur Open-Source-Apache-Lösung.

Antwort1

Das Weblogic-Plugin „kommuniziert“ mit dem Backend-Cluster und aktualisiert die Liste der verfügbaren Backends, die jedes Mitglied des Clusters meldet. So können Sie mehrere neue Mitglieder im Cluster haben, ohne die Apache-bezogene Konfiguration überhaupt berühren zu müssen.

Oracle bewirbt WLSRequest außerdem als eine flexiblere und weniger aufwändige Möglichkeit, Weblogic bestimmte Standort-Reverse-Proxys mitzuteilen als die Methode „SetHandler“.

Allerdings handelt es sich bei mod_wl um ein Drittanbieter-Objekt, das bis jetzt Probleme mit dem Ereignis-MPM aufwies. Wenn Sie beispielsweise ein Graceful-Ereignis ausgeben, bleiben die verwendeten Prozesse mit Sicherheit in einem Endzyklus des Graceful-Beendens hängen, bis Sie einen echten Neustart ausgeben. Sie können auch nicht maxconnectionsperchild verwenden, da Sie sonst mit der Zeit auf die gleiche Weise untergeordnete Prozesse verlieren (ich denke, die httpd-Entwickler arbeiten daran, dies in der Version 2.4.33 zu umgehen, die bald veröffentlicht wird).

Ich würde also die Oracle-Dokumente durchsehen und beide Optionen testen, tendiere in letzter Zeit aber auch zur Option ohne Drittanbieter, also zur Verwendung von mod_proxy.

Ich würde mich freuen, wenn Du nach Deinem Versuch noch einmal berichtest.

verwandte Informationen