Haproxy搭建Web群集

常见的Web集群调度器

目前常见的Web集群调度器分为软件和硬件

软件通常使用开源的Lvs. Haproxy、Nginx

硬件般使用比较多的是F5。也有很多人使用国内的一些产品,如梭子鱼、绿盟等

Haproxy应用分析

LVS在企业应用中抗负载能力很强,但存在不足

LVS不支持正则处理,不能实现动静分离
对于大型网站,LVS的实施配置复杂,维护成本相对较高

Haproxy是一款可提供高可用性、负载均衡、及基于TCP和HTTP应用的代理的软件

适用于负载大的Web站点
运行在硬件上可支持数以万计的并发连接的连接请求

Haproxy调度算法原理

Haproxy支持多种调度算法,最常用的有三种

RR (Round Robin)

RR算法是最简单最常用的—种算法,即轮询调度

理解举例

有三个节点A、B、C
第一个用户访问会被指派到节点A
第二个用户访问会被指派到节点B
第三个用户访问会被指派到节点C
第四个用户访问继续指派到节点A,轮询分配访问请求实现负载均衡效果

Haproxy支持多种调度算法,最常用的有三种

Lc (Least Conmections)

最小连接数算法,根据后端的节点连接数大小动态分配前端请求

理解举例

有三个节点A、B、C,各节点的连接数分别为A:4、B:5、C:6
第一个用户连接请求,会被指派到A上,连接数变为A:5、B:5、C:6第二个用户请求会继续分配到A上,连接数变为A:6、B:5、C:6;再有新的请求会分配给B,每次将新的请求指派给连接数最小的客户端
由于实际情况下A、B、C的连接数会动态释放,很难会出现一样连接数的情况
此算法相比较rr算法有很大改进,是目前用到比较多的一种算法

Haproxy支持多种调度算法,最常用的有三种

SH (Source Hashing)

基于来源访问调度算法,用于一些有Session会话记录在服务器端的场景,可以基于来源的IP、Cookie等做集群调度

理解举例

有三个节点A、B、C,第一个用户第一次访问被指派到了A,第二个用户第一次
访问被指派到了B
当第一个用户第二次访问时会被继续指派到A,第二个用户第二次访问时依旧会被指派到B,只要负载均衡调度器不重启,第一个用户访问都会被指派到A,第二个用户访问都会被指派到B,实现集群的调度
此调度算法好处是实现会话保持,但某些IP访问量非常大时会引起负载不均衡,部分节点访问量超大,影响业务使用

Haproxy高性能负载均衡的主要优点

Haproxy在负载均衡速度和并发处理上是优于Nginx
Haproxy支持虚拟主机,可以工作在4、7层
能够补充Nginx的一些缺点,比如session的保持、Cookie的引导等工作支持url检测后端的服务器的状态
Haproxy可以对Mysql进行负载均衡,对后端的DB节点进行检测和负载均衡
支持很多负载均衡算法,Round-robin (轮询)、weight-round-robin (加权轮询)、source(原地址保持)、RI(请求URL) 、 rdp-cookie(根据cookie)

LVS、Haproxy、 nginx区别

LVS和Haproxy应用分析

LVs在企业应用中抗负载均衡能力很强,但存在不足
LVS不支持正则处理,不能实现动静分离
对于大型网站,LVs的实施配置复杂,维护成本相对较高
Haproxy是一块可提供高可用性、负载均衡及基于TCP和HTTP应用的代理软件特别适合于负载特别大的web站点(可以承受高并发,可与Nginx配合)
运行在当前的硬件上可支持数以万计的并发连接请求

nginx和Lvs、Haproxy的区别

1)nginx
支持正则
只支持基于端口的健康检查
不支持session的直接保持,但能通过IP_hash来解决对网络稳定性要求不高
反向代理能力强
nginx社区活跃(社区:维护、更新服务的组织)
2)Lvs
只能基于四层端口转发
在四层做分发作用,抗负教能力强
应用范围广(几乎可以对所有应用做负载)
3)Haproxy
支持8种负载均衡策略
仅做负教均衡软件使用,在高并发情况下性能优于nginx支持URL健康检测、支持session保持
对后端具备监控的能力

部署haproxy服务

Haproxy搭建Web群集

启动Haproxy服务

Haproxy搭建Web群集

Haproxy搭建Web群集
Haproxy搭建Web群集
小结:
1,haproxy是一个可以通过搞可用性,搞负载均衡,以及基于tcp和http的代理的软件,主要有三种调度方式,rr,lc ,sh。haproxy是工作在七层上的,在负载均衡和出来并发的速度上由于nginx,能够补充nginx的一些缺点
2,lvs和haproxy的区别,lvs在企业应用中抗负载能力强,但是存在不足,lvs不支持正则表达,不能动静分离,复杂,维护成本高,而,haproxy是一块可提高可用性,负载均衡以及基于tcp和http的应用代理软件,支持高并发,基于端口的检查。
3,在配置安装中,make中指定诶和版本和系统的位数,其次在主配置文件配置日志记录和listen的内容,指定算法策略,和分配的服务器ip以及端口号。

来源:抱过后分开走

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年6月23日
下一篇 2021年6月23日

相关推荐