七层负载均衡-HAProxy

HAProxy动静分离的原理

动静分离是指将Web服务器上的静态资源(如图片、视频、CSS、JavaScript等)和动态资源(如PHP、JSP等脚本生成的页面、注册模块、评论模块)分开处理,由不同的服务器或服务器集群来分别承担。HAProxy通过ACL(访问控制列表)规则匹配,可以根据请求的URL路径、文件扩展名等信息来判断请求的类型,然后将不同类型的请求转发到不同的后端服务器或服务器集群上进行处理。

HAProxy Session亲缘性

HAProxy中的Session亲缘性(Session Affinity)是一种负载均衡策略,它确保来自同一客户端的请求总是被路由到同一后端服务器,从而维护会话状态的一致性。这对于需要保持用户会话信息的Web应用尤其重要。
HAProxy负载均衡保持客户端和服务器Session亲缘性的三种方式
1.用户IP 识别
HAProxy将用户IP经过hash计算后 指定到固定的真实服务器上
2.cookie(浏览器的缓存) 识别
HAProxy在响应中添加一个特定的Cookie,并在后续请求中使用该Cookie来识别客户端会话。该Cookie包含后端服务器的标识信息,HAProxy根据该信息将请求路由到相应的服务器上
3.session 识别
HAProxy将后端服务器生成的会话状态和后端服务器标识存储在一张表中(称为stick-table)。在客户端请求时,HAProxy查询该表以确定将请求路由到哪个服务器上

HAProxy七层负载均衡的部署

1.实验环境

192.168.147.153 HAproxy
192.168.147.157 web1
192.168.147.158 web2
192.168.147.160 client

2.HAProxy

1.同步计算机系统时钟
[root@haproxy ~]# yum -y install ntpdate    #安装ntpdate
[root@haproxy ~]# ntpdate ntp.aliyun.com    #自动跟阿里云时间服务器同步
2.安装HAproxy
[root@haproxy ~]# yum -y install haproxy
3.配置HAproxy
[root@haproxy ~]# vim /etc/haproxy/haproxy.cfg     #全部删除并替换
global
        log 127.0.0.1 local3 info
        maxconn 4096
        uid nobody  #老版写法
#       uid 99  #新版写法
        gid nobody  #老版写法
#       gid 99  #新版写法
        daemon
        nbproc 1
        pidfile /run/haproxy.pid
defaults
        log global
        mode http

你可能感兴趣的:(七层负载均衡-HAProxy)