1

I currently have 4 web application servers (running on application) on Rackspace that sit behind a Load Balancer (on Rackspace). In front of the Load Balancer. The application itself makes moderate use of caching so I know this can be improved on quite a bit.

My current architecture:

RS Load Balancer (SSL Termination) -> 4 Web Servers (Apache) -> MySql

This set up was put in place before me and now I have the opportunity to clean things up a bit so I was thinking of either this:

Varnish -> HAProxy (reverse proxy, LB, SSL Termination) -> 4 Web Servers (nginx) -> Redis / MySql

OR

Varnish -> nginx (reverse proxy, LB, SSL Termination) -> 4 Web Servers (nginx) -> Redis / MySql

OR is it better to have Varnish behind the proxy and in front of each web server like so?:

nginx or HAProxy -> 4 Varnish Servers -> 4 Web Servers (nginx) -> Redis / MySql

I would also move my servers to Linode as they seem to provide better pricing and while I've heard mixed reviews of their load balancers (the call them "NodeBalancers"), I have heard great things about their service and reliability in general.

My questions are:

  • Of the above, which set up makes more sense?
  • Is there anything I should add — or replace?
  • What type of hardware should I provision for Varnish?
  • Is it okay to put Varnish on the same server as each web server?

1 Answer 1

0

Varnish does not do SSL, so doing Varnish->nginx, or Varnish->HAProxy won't work with SSL.

On the other hand, putting anything in front of Varnish (besides SSL termination) will probably strip you of the performance benefits Varnish provides.

Having Varnish (cache) share hardware and/or OS with webserver may, or may not be a problem. It hugely depends on the parameters of traffic you are serving. The same is true for hardware scaling. It depends on your goals as well.

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.