HAProxy 负载均衡配置
|
![]() |
![]() |
![]() |
| 【性价之王】 | 【线路之王】 | 【价格之王】 | 【配置之王】 |
| 【免费之王】 | 【香港首推】 | 【梯子之王】 | 【独服之王】 |
HAProxy是一种高效、可靠、免费的高可用及负载均衡解决方案,非常适合于高负载站点的七层数据请求。(HAProxy可以基于四层和七层提供TCP和HTTP(select mode,根据报文内容)应用的负载均衡综合解决方案。)因为HAProxy实现了一种事件驱动、单一进程模型,此模型支持非常大的并发连接数。
客户端通过HAProxy代理服务器获得站点页面,而代理服务器收到客户请求后根据负载均衡的规则将请求数据转发给后端真实服务器。HAProxy还支持Session的保持和Cookie的引导。
同一客户端访问服务器,HAProxy保持会话的三种方案:
1、 HAProxy将客户端ip进行Hash计算并保存,由此确保相同IP访问时被转发到同一真实服务器上。( 配置:balance source)
2、 HAProxy依靠所使用的服务器发送给客户端的cookie信息进行会话保持。
3、 HAProxy保存所使用的服务器的session及服务器标识,实现会话保持功能。
二、HAProxy工作原理HAProxy有前端(frontend)和后端(backend),前端和后端都可以有多个。也可以只有一个listen块来同时实现前端和后端。这里主要讲一下frontend和backend工作模式。 前端(frontend)区域可以根据HTTP请求的header信息来定义一些规则,然后将符合某规则的请求转发到相应后端(backend)进行处理。因此HAProxy可以实现动静分离(动静分离简单来说就是指将静态请求转发到对应的静态资源服务器,将动态请求转发到动态资源服务器)
三、HAProxy配置文件修改haproxy的主配置文件 vim /etc/haproxy/haproxy.cfg(haproxy不处理SSL时,mode应为tcp)
| vim /etc/haproxy/haproxy.cfg | |
| #修改内容如下: | |
| frontend main | |
| bind *:80 | |
| default_backend webservers | |
| backend webservers | |
| balance roundrobin | |
| server app1 192.168.1.105:80 check | |
| server app2 192.168.1.106:80 check |
轮询调度(Round Robin Scheduling)算法就是以轮询的方式依次将请求调度不同的服务器,即每次调度执行i = (i + 1) mod n,并选出第i台服务器。
算法的优点是其简洁性,它无需记录当前所有连接的状态,所以它是一种无状态调度。仅有两台服务器的话,会在两台服务器间轮流转发请求。
会话保持的第一种方法:基于source算法,确保相同IP访问时被转发到同一真实服务器上。
Source算法| 1)把balance调度算法改为source: | |
| vim /etc/haproxy/haproxy.cfg | |
| backend webservers | |
| balance source | |
| #自于同一IP的请求,始终定向至同一台 |
| 1)把balance调度算法改为uri: | |
| vim /etc/haproxy/haproxy.cfg | |
| backend webservers | |
| balance uri | |
| server app1 192.168.1.105:80 check | |
| server app2 192.168.1.106:80 check | |
| #uri的机制,对同一个uri(资源)的请求,始终定义至同一个server上。无论从哪个客户端访问test1.html, 都指向的是web2上面的test1.html;无论从哪个客户端访问test2.html, 都指向的是web1上面的test2.html,与客户端IP无关,与每个服务端请求次数无关,与使用的客户端类型无关。 |
也就是我们在简介中提到的第二种设置会话保持的方法,HAProxy依靠真实服务器发送给客户端的cookie信息(也就是浏览器端的缓存信息中会包含服务器的node信息, 如web1 或者 是web2, 从而该浏览器下次访问时还会访问之前访问过的web服务器。)进行会话保持。
| vim /etc/haproxy/haproxy.cfg | |
| --- | |
| backend webserver | |
| cookie node insert nocache | |
| stats enable | |
| server web1 ip1:port check node1 | |
| server web2 ip2:port check node2 | |
| --- | |
| #重载haproxy | |
| systemctl reload haproxy |
配置haproxy动静分流
LOADING
配置haproxy域名分流(SNI,Server Name Indication)(SSL)
LOADING
五、HAProxy后端web服务器状态检测(灾备)HAProxy有三种状态检测方式:
1).基于四层的传输端口做状态监测
2).基于指定的uri做状态监测
3).基于指定的URI的resquest请求头部内容做状态监测
1. 基于四层的传输端口做状态监测
通过监听端口进行健康检测。这种检测方式,haproxy检查后端server的端口,并不能保证服务的真正可用。有时候服务端口监听和进程都是存在的,不代表正常提供服务,这时使用基于端口的监听方式明显就不太合适了。
| vim /etc/haproxy/haproxy.cfg | |
| #inter 时间间隔 | |
| --- | |
| backend webserver | |
| balance roundrobin | |
| cookie HAPROXY-COOKIE insert indirect nocache | |
| server web1 ip1:port check port xx addr ip inter 3000 fail 3 rise 5 | |
| server web2 ip2:port check port xx addr ip inter 3000 fail 3 rise 5 | |
| --- | |
| #重载haproxy | |
| systemctl reload haproxy |
2. 基于指定的uri做状态监测
用GET后端server的的web页面,基本上可以代表后端服务的可用性。模拟客户端去访问服务端,如果响应码是正常的说明服务端处于正常工作状态,避免了基于端口监控的弊端。
| vim /etc/haproxy/haproxy.cfg | |
| --- | |
| listen webserver | |
| mode http | |
| bind *:80 | |
| balance roundrobin | |
| cookie HAPROXY-COOKIE insert indirect nocache | |
| option httpchk GET / URI | |
| server web1 ip1:port check cookie node1 check | |
| server web2 ip2:port check port xx addr ip inter 3000 fail 3 raise 5 | |
| --- | |
| #重载haproxy | |
| systemctl reload haproxy |
3. 基于指定的URI的resquest请求头部内容做状态监测
抛弃消息体(body)部分,只返回给haproxy响应头部(head)信息即可,节省了后端web服务器的网络I/O。
#LOADING[linux]历史优惠活动内容
猜你可能想看的VPS
- 41云:香港CN2云服务器,1核/1G/10M带宽,月付28元 香港VPS[主机]
- 加拿大以“国安”为由禁止华为、中兴参与5G建设 全球[VPS测评]
- 向日葵-漏洞科普:海外云服务器三种漏洞修复方法快收藏起来! 全球[VPS测评]
- 30个美容院抖音唯美文案,看到就直接拿去发吧 全球[VPS测评]
- 外贸无界烟台市有多少跨境电商?烟台跨境电商开发平台,烟台跨境电商选品 全球[VPS测评]
- 言車新车|大阳VPS125混动踏板,长续航,代步通勤9980元起 全球[VPS测评]
- 中概股扫描网传拼多多正筹备跨境电商平台首站登陆美国 美国VPS[主机]
- 宝塔面板怎么放行端口?宝塔面板放行端口的方法 全球[VPS测评]
- JGKVM活动钜惠:美国cn2,香港cmi,大带宽vps,三网直连,10 美国VPS[主机]
- 野草云怎么样?香港、美国圣何塞高防VPS 1核1G3M 月付19元 美国VPS[主机]
- 磐逸云怎么样?1核1G香港安畅CN2 VPS带宽5M年付128元 香港VPS[主机]
- 磐逸云怎么样?香港沙田cn2vps 带宽5M年付128元 香港VPS[主机]
- 轻云互联,香港美国vps终身8.8折17元/月起,cn2直连线路,50G 美国VPS[主机]
- UCloud海外云服务器促销:全场1折起,香港cn2vps最低年付150 香港VPS[主机]
- 磐逸云:深圳/大连/成都/香港机房vps,1核1G3M仅26元/月,65 香港VPS[主机]
- 桔子数据怎么样?美国、香港CN2云服务器2核2G10M带宽仅480元/年 美国VPS[主机]
- 恒创科技:香港/美国云服务器2折起,年度特价低至13元/月,新购送京东E 美国VPS[主机]
- 无忧云:香港大埔/荃湾云服务器5折优惠,可叠加优惠码,国内高防78元起 香港VPS[主机]
- 瓜云互联:香港CN2/美国洛杉矶高防vps优惠促销,预充款最高送300元 美国VPS[主机]
- 极光KVM:1核512M/50Mbps/BGP+CN2/美西vps/年付 香港VPS[主机]
- 月神科技:香港安畅vps,2核/2G/20G SSD/200G/5Mbp 香港VPS[主机]
- 老六云:⾹港⼤宽带服务器、香港大带宽vps_新购⾸⽉85折优惠 香港VPS[主机]
- 腾讯云香港轻量云2核2G服务器:30M带宽低至704元/年;2312元/ 香港VPS[主机]
- 青云互联:香港安畅弹性云八折,15元/月起;可自定义配置,可选windo WINDOWS
- Vmshell:香港免费vps试用机24H,新增在线测速!年付再打9折, 香港VPS[主机]
- Mineserver:香港CMI大带宽云服务器38元/月起(300M不限 香港VPS[主机]
- Fatal error: Allowed memory size of 全球[VPS测评]
- 腾讯会议故障了 提示:会议发生异常请重新加入会议 全球[VPS测评]
- 瓜云互联怎么样?香港/美国洛杉矶CN2高防vps 50G月付34元 美国VPS[主机]
- 奇维云优惠活动:香港CN21核1G1M带宽云服务器免费领取 香港VPS[主机]
转载请注明原文地址: http://140.238.13.167:12355/read-228787.html











