关于HAProxy服务异常退出的解决办法

HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。

HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。文章源自新逸网络-https://www.xinac.net/9223.html

 文章源自新逸网络-https://www.xinac.net/9223.html

本文的使用场景和架构如下:文章源自新逸网络-https://www.xinac.net/9223.html

公司为数百的客户提供服务,使用人数数百至数万不等。使用haproxy作前端的负载服务器,提供TCP层的转发,http层的流量则全部转发到nginx作代理分发。文章源自新逸网络-https://www.xinac.net/9223.html

于是,在监听80端口后,有以下配置:文章源自新逸网络-https://www.xinac.net/9223.html

...... # 其它配置略

default_back  nginx_proxy;

nginx服务器只有1台,使用了81端口。每隔一段时间(1个小时左右),haproxy就异常退出,重复多次。文章源自新逸网络-https://www.xinac.net/9223.html

然后分析原因,可能是某个后台网站异常不能访问,导致haproxy在健康检查后将nginx服务器标记为不可用,而default_back的不可用导致了haproxy无法正常工作。文章源自新逸网络-https://www.xinac.net/9223.html

解决方案:文章源自新逸网络-https://www.xinac.net/9223.html

1、后端使用多台nginx服务器(效果更好,但配置文件可能不好管理)文章源自新逸网络-https://www.xinac.net/9223.html

2、一台nginx服务器使用多个端口号(伪负载)文章源自新逸网络-https://www.xinac.net/9223.html

3、haproxy里配置多个server,只启用一台服务器的健康监测(如果有多台服务器可以都开启,只有一台的话不要开启文章源自新逸网络-https://www.xinac.net/9223.html

最后总结一下,haproxy作代理服务器时,转发效率非常高,比nginx要好很多,尤其是访问量大的网站。nginx适合多台服务器均衡负载和提供web服务。文章源自新逸网络-https://www.xinac.net/9223.html 文章源自新逸网络-https://www.xinac.net/9223.html

weinxin
新逸IT技术
扫一扫关注微信公众号
Admin
  • 本文由 发表于 2021-04-19
  • 转载请注明:https://www.xinac.net/9223.html
CentOS系统openssh升级教程 运维笔记

CentOS系统openssh升级教程

注意:升级openssh版本有风险,升级过程中不能中断!否则服务器有失联的风险。使用VPN连接远程操作的,网络不稳定的请勿操作。 按本教程操作,网络稳定的情况下,99%的都会成功。 网上很多教程先安装...
评论  0  访客  0
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定