Re: Will Backhand/Wackamole solve my problem?
Theo Schlossnagle <[email protected]> Sat, 27 Sep 2003 15:26:38 -0400
| Newsgroups | gmane.comp.apache.mod-backhand.general |
|---|---|
| Message-ID | <[email protected]> |
You can use mod_backhand, but it would be to balance the traffic across your second tier. As you said in your email, much of the cost involved is the SSL traffic itself. This cost can't be balanced by mod_backhand as it happens at the application level and the cost is paid at the application protocol level. To balance the cost of SSL resource consumption you need to do it beneath the application protocol layer (HTTPS), for example on the TCP/IP level. So you'd use a TCP/IP load balancer in front of everything (like LVS, BIG/ip, ServerIron, Arrowpoint, etc. etc. etc.) However, I doubt you really need fine grained balancing across your first tier SSL proxy machines. We ran a pretty high traffic site over SSL that just used DNS round robin for naively distributing the incoming connections. Then mod_backhand intelligently distributed them across a second tier cluster of Jakarta Tomcat servers. I would duplicate your current front end machine and give it a second publicly accessible IP address. Add another A record to DNS for the web site. Then, use wackamole to ensure high availability of the two "exposed" IP addresses. We did this with great success. I'd throw in hardware SSL accelerators if you are noticing that as the bottleneck. Note, if you are going to be VERY high traffic, your setup may justify installing an SSL-aware hardware load-balancer and hardware SSL accelerators on your 1st tier machines. The SSL "crypto acceleration" cards compared to doing the openssl work on your system processor is like night and day. A financial application where the majority of web transactions happen over SSL justifies the purchase of one of these hardware accelerators. On Saturday, Sep 27, 2003, at 10:35 US/Eastern, Kok Wei, Koh wrote: > Hello everyone, > > I am currently looking for a solution to a project I am working on, in > a local financial institution where high performance is needed due to > a reasonably high number of users accessing the web services everyday. > > I'll write a paragraph of the current situation: > > The nature of the banking services website consists of a front > Internet facing Apache 1.3.28 (EAPI, mod_ssl, mod_proxy) being a > reverse proxy proxying to 3 different machines based on different > URLs. Behind the reverse proxy, there lies 2 IIS servers, and 1 Apache > (mod_jrun) which ties to JRun housing Java servlets. The database > server is of another machine of a deeper DMZ. > > I suppose the following diagram shall illustrate better ... > > > +--------+ > | RP | (SSL, HTTP) > +--------+ > | > /|\ > / | \ > / | \ > / | \ > IIS HTTPD IIS > > > I realize that the bottleneck is on the RP when in the near future the > number of users are expected to grow tremendously. When users access > the banking services, they are forced to enter HTTPS mode, which also > consumes more processing power than just pure HTTP. Besides, this > setup is clearly a single-point-of-failure if the RP goes down after a > system patch, or whatever reason it needs to reboot. > > My direction is really to see if backhand/wackamole could be used to > load-balance/fail-over the RP if one or two more boxes are parked next > to it, and similarly setup/configured. The goal is performance being > the first priority, and availability the second ;-) Or both > preferably! > > Hoping to get various feedbacks. Thank you in advance. > > > -- > Kok Wei, Koh <[email protected]> > > > _______________________________________________ > backhand-users mailing list > [email protected] > http://lists.backhand.org/mailman/listinfo/backhand-users > // Theo Schlossnagle // Principal Engineer -- http://www.omniti.com/~jesus/ // Postal Engine -- http://www.postalengine.com/ // Ecelerity: fastest MTA on earth