Haproxy

Haproxy常用的负载均衡软件

nginx支持四层和七层转发,Haproxy也可以

Q:LVS的DR和NAT是基于四层还是七层转发?

A:四层转发

Q:LVS的TUN是基于四层还是七层转发?

A:都有。四层+七层

基于四层的转发:LVS   NGIBNX  Haproxy

基于七层的转发:NGINX   Haproxy

haproxy: 法国人开发的威利塔罗在2000年基于C语言开发的一个开源的软件。

可以支持一万以上的并发请求。

高性能的tcp和HTTP负载均衡器 2.4 1.5.9

haproxy:主要用于高并发的web站点。工作原理和nginx一样。LVS都一样

Haproxy支持的功能

1、tcp和ttp的反向代理

2、https的代理配置

3、可以针对http请求添加cookie缓存(Haproxy自身不带缓存功能),转发到后端服务器(添加缓存)

4、支持主备服务器切换(可以和keepalive一起使用)

5、基于端口的实时监控

6、压缩响应报文

haproxy的特点

1、可靠性和稳定非常好,可以和硬件f5 BIG负载均衡的硬件设备相媲美

2、同时维护40000-50000个并发连接,单位时间内处理最大请求数20000个。

3、支持8中负载均衡算法。但是haproxy不带缓存功能,但是可以支持会话保持

4、也支持配置虚拟主机

Haproxy的负载均衡算法【123常用,678了解】

1、roundrobin  轮询

2、static-rr  加权轮询

3、leastconn  最小连接数

4、source  根据请求的源IP进行调度

5、uri  根据请求地址进行调度

6、url param URL的参数实现调度

7、hdr (name)  表示根据HTTP的请求头锁定每一次HTTP的请求

8、rdp-cookie (name)  表示用cookie的名称来锁定每一次请求

总结:LVS、NGINX、Haproxy的区别

1、LVS基于Linux内核来实现负载均衡,速度最快、效率最高、性能最高、对系统硬件要求最高

Haproxy和NGINX基于第三方的应用实现负载均衡,性能较低(nginx最低)

2、LVS可以实现IP+端口的四层负载均衡,无法实现HTTP请求的转发,但是Haprxy和NGINX都可以实现四层和七层的转发技术

3、LVS只能实现四层转发,所以监测状态只能是单一的功能(监测端口)

Haproxy可以实现端口、uri等状态

4、Haproxy虽然功能强大,但是整体性能低于LVS,NGINX的性能比Haproxy低

性能:LVS > Haproxy > NGINX(bug多,性能差)

5、NGINX主要应用还是web服务或者缓存服务器,NGINX的stream模块和upstream也可以支持集群,但对节点的健康检查能力不强。没用LVS和Haproxy的监控性能好

Haproxy缺点

1、都是单节点部署(单实例运行)。代理服务器出现故障,整个负载集群全部不可用

keepalived

haproxy+keepalived实现代理地址的高可用

LVS+DR+keepalived+NGINX(静态)+TOMCAT(动态)

2、Haproxy是一个无状态的负载均衡器,没缓存,也没偶会话保持,靠应用程序实现会话保持。状态不是保存在代理服务器,而在后端服务器,或者依靠cookie

3、Haproxy的日志比较简单,只提供基本的请求日志和错误日志。需要更高级的日志。人工自定义

你可能感兴趣的:(haproxy)