我目前在Rackspace上有4个Web应用程序服务器(在应用程序上运行),位于Load Balancer后面(在Rackspace上)。 在负载均衡器前面。 应用程序本身适度使用caching,所以我知道这可以在很大程度上得到改善。
我目前的架构:
RS Load Balancer (SSL Termination) -> 4 Web Servers (Apache) -> MySql
这个设置在我面前已经到位了,现在我有机会清理一些东西,所以我想到了这一点:
Varnish -> HAProxy (reverse proxy, LB, SSL Termination) -> 4 Web Servers (nginx) -> Redis / MySql
要么
Varnish -> nginx (reverse proxy, LB, SSL Termination) -> 4 Web Servers (nginx) -> Redis / MySql
或者,在代理之后并在每个Web服务器之前都有更好的清漆:
nginx or HAProxy -> 4 Varnish Servers -> 4 Web Servers (nginx) -> Redis / MySql
我也将我的服务器移动到Linode,因为他们似乎提供了更好的定价,虽然我听说他们的负载平衡器(他们称为“NodeBalancers”)的综合评论,我听到了一般关于他们的服务和可靠性的伟大的事情。
我的问题是:
清漆不做SSL,所以做Varnish-> nginx或Varnish-> HAProxy不能使用SSL。
另一方面,将任何东西放在Varnish(除了SSL终止之外)可能会剥夺您Varnish提供的性能优势。
有清漆(caching)与networking服务器共享硬件和/或操作系统可能,也可能不是问题。 这很大程度上取决于您所服务的stream量的参数。 硬件缩放也是如此。 这也取决于你的目标。