![使用 Nginx、Varnish 和 HAProxy 时负载会下降到哪里?](https://linux22.com/image/630788/%E4%BD%BF%E7%94%A8%20Nginx%E3%80%81Varnish%20%E5%92%8C%20HAProxy%20%E6%97%B6%E8%B4%9F%E8%BD%BD%E4%BC%9A%E4%B8%8B%E9%99%8D%E5%88%B0%E5%93%AA%E9%87%8C%EF%BC%9F.png)
我们正在研究扩展我们的服务器,但我不确定随着访问者数量的增加,负载会下降到哪里。
我有一个 HAProzy 负载均衡器,它代理两个 Varnish Nginx 静态内容服务器。随着负载的增加,哪个服务器在资源影响方面会受到最大的打击?它们都是 Digital Ocean droplet,所以我可以根据需要扩展它们。HAProxy 服务器上的负载最高,还是 Varnish 服务器上的负载最高?
答案1
您确实应该以不同的方式进行此设置。如果您要在同一台服务器上运行 3 个服务中的 2 个,则应该是 HAProxy 和 Varnish,请求不能立即从 Varnish 缓存返回,然后发送到 NGINX。您不希望缓存服务器也进行处理,否则就有点违背了初衷。此外,这样做允许您创建较小的实例,因为它是一个内存缓存,因此您不需要很多其他资源。而缓存未命中会被发送回更大的服务器,该服务器会定期处理代码并仅响应这些请求。您设置它的方式必须根据请求量进行扩展,就像没有 Varnish 并使用 php 缓存或 apc 一样。
话虽如此,您的 Varnish/NGINX 服务器将具有最高的负载,因为它提供缓存并处理所有 Web 请求。HAProxy 只是进行交接,不进行任何内容处理或提供。
答案2
随着流量的增加,Haproxy 会将流量分配到您的应用服务器中,当然,处理请求的应用服务器将受到最大影响。