Pat*_*841 18 centos nginx haproxy
我正在考虑使用HAProxy和Nginx进行负载平衡,我有一些问题:
谢谢
Mic*_*sky 33
haproxy是一个"负载均衡器",它不知道提供文件或动态内容.nginx是一个能够提供许多有趣内容的Web服务器.如果你只需要加载余额+ HA一些第三个web服务器那么haproxy就足够了.如果您需要在请求路由中实现一些静态内容或某些逻辑,然后在第三台服务器上终止它们,那么您可能需要nginx.
您可以在同一主机上看到haproxy + nginx的原因是它允许您关闭单个nginx实例,而haproxy继续提供来自其他主机的请求.想象一下使用A记录的RR DNS:
myapp.com IN A 1.1.1.1
myapp.com IN A 1.1.1.2
Run Code Online (Sandbox Code Playgroud)
其中1.1.1.1和1.1.1.2是两个主机,其中haproxy + nginx配置为在它们之间进行负载平衡.现在由于某种原因你的1.1.1.1的nginx下降了.来到1.1.1.1的浏览器仍由haproxy提供服务,而haproxy又从1.1.1.2的nginx获取数据.
希望能帮助到你
小智 17
我们将 HAProxy 与 nginx 一起使用。原因有很多。
Nginx 可以做所有事情(或多或少),但您不希望负载均衡器提供网页服务。配置中出现一些错误(可能与负载平衡无关),并且您的整个设置突然停止。想象一下,您有一个 Nodejs 应用程序、一个 Dotnet Core 应用程序、Nginx 提供的静态文件和一个 php 应用程序。你只是犯了一些错误,你的 4 个应用程序就会陷入停滞。如果每个应用程序有多个实例,您也会失去冗余。
即使你说 Nginx 只会做负载平衡,Nginx 也不支持 PROXY 协议,如果你转发到其他也不提供页面服务的服务器,这就会出现问题。
另外,做一件事并把它做好是有话要说的。Nginx 是当今的主要工具箱。它几乎可以做所有事情。您的负载平衡器应该是您的设置中最稳定的部分。您难道不想使用专门为负载平衡而构建的东西吗?
如果您使用 varnish,那么 HAProxy 可以很好地配合它,而且事实上它们是由同一个人制作的。
如果您想要增加平衡级别,那么您还可以使用 dns 作为多个 HAPROXY 实例的负载平衡器。DNS 本身并不适合这种情况,但您总会有一些薄弱环节。即使负载均衡器由云提供商管理,它也可能崩溃。如果您的 DNS 条目中有多个服务器,现在大多数网络浏览器都会尝试其他服务器,因此它就像一个负载平衡器。您的 DNS 应该非常可靠,从而增加您的正常运行时间。
我们使用 2 个 haproxy 实例和 2 个 varnish 实例以及两个 dns 条目。
HAProxy 绝对是更好、功能更齐全的负载均衡器(与免费的 nginx 相比,而不是 nginx plus(但也可以争论)。
遗憾的是,HAProxy 仍然无法做的一件事是通用 UDP 连接。所以我们在日志记录中使用了 HAProxy 和 nginx。但是 HAProxy 在 2.3 中发布了对 syslog/udp 的支持,因此我们即将对其进行更改。:)
| 归档时间: |
|
| 查看次数: |
16357 次 |
| 最近记录: |