Igor, Thank you for you're reply. Yes, I have since learned that the application recommends using AJP instead of HTTPD so I'm attempting to use mod_jk and mod_proxy_ajp. However, I'm running into some issues and have some confusion with mod_jk so I'll start a new thread with my questions.
HB On Tue, Feb 27, 2018 at 11:36 PM, Igor Cicimov <[email protected]> wrote: > I always prefer mod_jk over mod_proxy, I find it superior in terms of > features and performance. > > > On 27 Feb 2018 5:10 am, "Herb Burnswell" <[email protected]> > wrote: > > Daniel - > > Thank you for your response. > > 1/2: Thanks for confirming only one balancer method can be used. I will > test to see which option makes the most sense. > > 3: Regarding my inquiry about potential better options, I was more > referring to the idea of maybe using Tomcat as a proxy to Tomcat backend > application. I've read it can be done was wondering if the like to like > might provide advantages. I am personally not as familiar with Tomcat as I > am with HTTPD and therefore would prefer using HTTPD if there are no > significant reasons to use Tomcat --> Tomcat. > > 4: The sticky sessions need makes sense. > > I have attempted to set up the sticky sessions configuration in HTTPD but > unfortunately I must not have it set up properly. It's probably best if I > create a new thread for that issue and will do so. > > Thanks again for your guidance. > > HB > > On Fri, Feb 23, 2018 at 12:57 AM, Daniel Ferradal <[email protected]> > wrote: > >> Hello, >> >> I'll try to answer point by point the best I can. >> >> 1º You can only use one balancer method, so choose the best strategy >> for your case. There is plenty on the description for each in the docs >> (TL to explain here). >> 2º No, it does not, you choose one and use only one that suites you >> best for a specific balancer. >> 3º Inside httpd the only non-third party choice that I know is >> mod_proxy_balancer, so yes, by all means use it. Unless you find a >> more suitable product for your needs. >> 4º That will precisely mean you need to use sticky sessions and define >> how to properly handle them at the balancer level, why? because as >> long as nodes are up and running you want to deliver the session to >> the specific node dealing with that session or session will be lost. >> It is when that backend node is down that httpd should look for other >> nodes to deliver the session. Afaik is called session persistence. Or >> at least this is the usual way to balance with sessions dealt by a >> backend cluster. >> >> About docs you can also visit: >> http://httpd.apache.org/docs/2.4/howto/reverse_proxy.html >> and mod_proxy itself: http://httpd.apache.org/docs/2.4/mod/mod_proxy.html >> >> Cheers! >> >> 2018-02-23 1:48 GMT+01:00 Herb Burnswell <[email protected]>: >> > All, >> > >> > I am looking for some guidance on using HTTPD as a proxy and load >> balancer >> > to a backend Tomcat application. Specifically, I'm interested in how to >> > best handle the balancing of requests. The configuration would be very >> much >> > like the 'typical implementation' shown in this Reverse Proxy Guide: >> > https://httpd.apache.org/docs/2.4/howto/reverse_proxy.html (I'm using >> > version 2.4.6): >> > >> > +--------------------- + >> > | Firewall Public | >> > +--------------------- + >> > +-------------------------------------------+ >> > | +------+ +-------+ +-------+ | >> > | | httpd| | httpd | | httpd | | >> > | | 1 | | 2 | | 3 | | >> > | +------+ +-------+ +-------+ | >> > +-------------------------------------------+ >> > +---------------------- + >> > | Firewall Private | >> > +---------------------- + >> > +---------------------------------------------+ >> > | +--------+ +---------+ +--------+ | >> > | | tomcat| |tomcat | |tomcat | | >> > | | 1 | | 2 | | 3 | | >> > | +--------+ +---------+ +--------+ | >> > +---------------------------------------------+ >> > >> > >> > We have this working fine with a vanity URL to a VIP on our public >> firewall >> > --> to the 3 httpd proxy load balancer pool --> to one of the 3 backend >> > Tomcat server pool. We want everything to run over SSL and the >> currently >> > working config on the httpd servers is basic: >> > >> > <VirtualHost _default_:443> >> > >> > ServerName example.com >> > >> > SSLEngine on >> > SSLProtocol all -SSLv2 -SSLv3 >> > SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA >> > >> > SSLCertificateFile /etc/pki/tls/certs/ssl.crt >> > >> > # ------------------------------------------------ >> > # Proxy Load Balancer >> > # ------------------------------------------------ >> > >> > <Proxy balancer://mycluster> >> > >> > BalancerMember https://app1.example.com:9009 >> > BalancerMember https://app2.example.com:9009 >> > >> > </Proxy> >> > >> > SSLProxyEngine on >> > SSLProxyVerify none >> > SSLProxyCheckPeerCN off >> > SSLProxyCheckPeerName off >> > SSLProxyCheckPeerExpire off >> > >> > ProxyPass / balancer://mycluster/ >> > ProxyPassReverse / balancer://mycluster/ >> > >> > </VirtualHost> >> > >> > >> > As mentioned, this works fine. But now we need to dig into the request >> > management. I read here: >> > https://httpd.apache.org/docs/2.4/mod/mod_proxy_balancer.html that the >> > scheduler algorithm is provided by 'at least one of': >> > >> > mod_lbmethod_byrequests >> > mod_lbmethod_bytraffic >> > mod_lbmethod_bybusyness >> > mod_lbmethod_heartbeat >> > >> > Questions: >> > >> > 1. Am I correct in reading 'at least one of' that multiple of these >> > algorithms can be used together? If so, is there a hierarchy between >> them? >> > >> > 2. Does it make sense to use multiple algorithms? >> > >> > - It sounds like each could be desirable: >> > mod_lbmethod_byrequests -> We do want to have an even distribution of >> > request/sessions. >> > >> > mod_lbmethod_bytraffic -> Some requests/sessions could be more intensive >> > than others. >> > >> > mod_lbmethod_bybusyness -> Sounds similar to byrequests? >> > >> > mod_lbmethod_heartbeat -> Definately need to backend to be listening but >> > would be nice to distribute or overlook a server based upon response >> time. >> > Is that part of how this works? >> > >> > 3. Is using HTTPD mod_proxy_balancer the best way to handle what we are >> > looking to do? Or are there better options? >> > >> > 4. On the backend we plan on using Tomcat session clustering for high >> > availability. That being the case, would that mean that we would NOT >> want >> > to use sticky sessions at the HTTPD level in case a backend Tomcat node >> goes >> > offline and the session is picked up on one of the other nodes? >> > >> > Sorry if I've confused anything here, any guidance is greatly >> appreciated. >> > I'm happy to read any documentation directed to.. >> > >> > Thanks in advance, >> > >> > HB >> > >> >> >> >> -- >> Daniel Ferradal >> HTTPD Docs. I translate to Spanish. >> #httpd help at Freenode >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >> > >
