haproxy高可用集群

高可用集群

                           Haproxy :他是常用的负载均衡软件

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

LVS的DR发和nat是基于四层还是七层的转?

都基于是四层转发(端口和协议),没有增加URL

                     Tun模式:四层加七层

                           基于四层的转发

                                  lvs        

                                nginx
                                haproxy
                             基于七层转发
                                   nginx
                                haproxy

Haproxy概念

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

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

他是一个高性能tcp和HTTP的负载均衡器最新的2.4 ,我们一般用1.5版本

Haproxy:主要用于高并发的web站点,工作原理和nginx一样,lvs都一样

支持的功能

1 tcp和http的反向代理功能
2 支持https的代理配置加密的http通信
3 可以针对http请求添加cookie(本地缓存),可以转发到后端服务器(添加缓存)
4 支持主备服务器切换(keepalived)
5 可以实现基于端口的实时监控
6 可以压缩响应报文

Haproxy的特点

1 可靠性和稳定性非常好,可以和硬件F5 big负载均衡的硬件设备相媲美
2 同时维护4万到5wan个并发连接,单位时间内处理最大请求数2万个
3 支持8种负载均衡算法,但是haproxy不带缓存功能,但是可以支持会话保持功能
4 支持配置虚拟主机
Haproxy的负载均衡算法
1 roundrobin   rr   轮询
2 static-rr   wrr    加权轮询
3 leastconn   最小连接数
4

source   根据请求的源ip进行调度  sh

5 URI uri  根据请求的地址进行调度 URL——hash
6 Url param  URL的参数实现调度
7 hdr (name)表示根据http的请求头锁定每一次的http的请求
8 rdp-cookie(name)表示根据cookie 的名称来锁定每一次请求
Lvs  nginx haproxy区别
LVS

1.lvs基于linux内核实现负载均衡,性能最高,但是对系统硬件要求比较高,haproxy和nginx基于第三方的应用实现负载均衡,性能较低

2.lvs可以实现ip加端口的四层负载均衡,无法实现基于地址http请求的转发,haproxy和nginx都是可以实现四层和七层的转发技术

3.lvs只能实现四层转发,检测的状态只能是单一的功能(检测端口),haproxy可以实现更复杂的,如端口,uri,可以检测多种状态

haproxy 功能虽然强大,但整体性能低于lvs,nginx的性能比haproxy低
nginx nginx主要应用还是web服务或者缓存服务器,nginx的stream模块和upstream也可以支持集群,但是对节点的健康检查能力不行,没有lvs和haproxy的监控性能好
        Lvs---haproxy----nginx(bug多,稳定性差)
Haproxy缺点
1 一般都是单点部署,单实例运行,代理服务器出现故障,整个负载集群全部不可用
2 haproxy是一个无状态的负载均衡器,他不会在状态之间保持,而是在后端服务器,或者依靠cookie解决
3 日志问题,haproxy的日志比较简单,一般来说只提供基本的请求日志和错误日志,需要更高级的日志,要人工自定义

haproxy高可用集群_第1张图片

haproxy高可用集群_第2张图片

haproxy高可用集群_第3张图片

haproxy高可用集群_第4张图片

haproxy高可用集群_第5张图片

Timeout 都是向后兼容

实验

  1. 搭建
  2. 实现七层 实现四层
  3. 如何实现haproxy 的日志单独存放

你可能感兴趣的:(服务器,linux,数据库)