day17负载均衡

一、负载均衡的作用:

1. 提高系统性能:通过扩展网络设备和服务器的带宽,优化访问请求在服务器组之间的分配,提高系统的反应速度和总体性能。

2. 监控服务器的运行状态:负载均衡能够监控服务器的运行状态,提高整个服务器组的可靠性。

3. 提供服务一致性:负载均衡器具有提供服务一致性的功能,通过读取客户端所发出请求内的信息,进行重写报头程序然后将请求发送至合适的服务器上,该服务器会维护着该客户端信息。

4. 摆脱停机时间:在基于云服务器中,可以在将流量引导到另一台服务器的资源之后进行维护,前提是它们不在维护中,从而可以消除网站的停机时间。

5. 管理服务器故障:如果其中一台服务器发生故障,则可以快速移动流量,将故障服务器的流量流入到另一台服务器中。

6. 转发功能:按照一定的算法,将客户端请求转发到不同应用服务器上,减轻单个服务器压力,提高系统并发量。

7. 恢复添加:如检测到发生故障的应用服务器恢复工作,自动将其添加到处理用户请求队伍中。

8. 分发流量:分发流量、请求到不同的服务器。使流量平均分配,提高整个集群的响应速度、服务的高可用性。

二、负载均衡常用处理方式:

负载均衡分为四层负载均衡和七层负载均衡。四层负载均衡是工作在 OSI 七层协议的第四层——传输层,基于IP+PORT的负载均衡,主要工作是转发。实现四层负载均衡的方式包括硬件(如F5、BIG-IP、Radware等)和软件(如LVS、Nginx、Haproxy等)。七层负载均衡是工作在七层协议的第七层-应用层,基于虚拟的URL或主机IP的负载均衡,主要工作是代理。实现七层负载均衡的方式主要是软件(如Nginx、Hayproxy等)。

三、四层和七层负载均衡的区别:

1. 四层负载均衡数据包是在底层就进行了分发,而七层负载均衡数据包则在最顶端进行分发,所以四层负载均衡的效率比七层负载均衡的效率要高;

2. 四层负载均衡不识别域名,而七层负载均衡识别域名;

3. 除了四层和七层负载均衡以外其实还有二层、三层负载均衡。二层负载均衡是在数据链路层基于MAC地址来实现负载均衡,三层是在网络层一般采用虚拟IP地址的方式实现负载均衡;

4. 实际环境采用的方式:四层负载 (LVS) +七层负载 (Nginx)。

四、nginx 七层负载均衡配置

1、七层负载均衡基础配置:

[root@server]# vim /usr/local/nginx/conf/nginx.conf

worker_processes                 1;

events {

        worker_connections 1024;

}

http {                                         # 七层负载均衡支持http、ftp协议

        include                 mime.types;

        default_type                application/octet-stream;

        sendfile                 on;

        keepalive_timeout              65;

        upstream qicengzu {                         # 服务器组,组名qingcengzu

                server 192.168.33.11:8080;                         # 组内服务器1

                server 192.168.33.22:8080;                         # 组内服务器2

        }

        server {                                                 # 虚拟服务器

                listen                 80;                                         # 虚拟服务器端口

                server_name            localhost;                         # 虚拟服务器名

                location / {                         # 虚拟服务器的url跳转

                proxy_pass http://qicengzu;                         # 当访问本机的80端口时,跳转到服务器组

                            }

                }

}

2、负载均衡状态:

五、nginx 四层负载均衡

1. 轮询(Round Robin)

upstream backend {

    server 192.168.33.11:8080;

    server 192.168.33.22:8080;

}

2. 加权(Weighted)

upstream backend {

    server 192.168.33.11:8080 weight=5;

    server 192.168.33.22:8080 weight=2; # 权重默认为1,谁权重大,谁优先处理请求

}

3. 四层负载均衡使用 stream 模块,与七层的 http 模块同级。

首先查看版本及安装模块:

[root@localhost ~]# nginx -V

备份原有配置文件:

[root@localhost ~]# cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginxbak

进入源码目录,安装指定模块:

[root@localhost nginx-1.22.1]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-stream

编译并替换新的 nginx 二进制文件:

[root@localhost nginx-1.22.1]# make

[root@localhost nginx-1.22.1]# cp ./objs/nginx/usr/local/nginx/sbin/

配置四层负载均衡:

events {

    worker_connections 1024;

}

stream {

    upstream dongtai {

        server 192.168.33.11:8080;

        server 192.168.33.22:8080;

    }

    server {

        listen 81;

        proxy_pass dongtai;

    }

    upstream jingtai {

        server 192.168.33.33:80;

        server 192.168.33.44:80;

    }

    server {

        listen 82;

        proxy_pass jingtai;

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值