8.1负载均衡结构图
8.2负载均衡按照地域分类
8.2.1全局负载均衡GSLB
8.2.2局部负载均衡SLB(用的最多)
8.3负载均衡按层分类
8.3.1四层负载均衡
layer4:在传输层已经可以支持到TCP/IP的控制了,只需要对客户端的请求进行TCP/IP的包转发,就可以实现复制均衡,
优势:性能非常快,只需要对底层进行应用处理,而不需进行复杂的逻辑,进行包转发就行了。
8.3.2七层负载均衡
在应用层进行处理,可以完成很多应用层的处理,比如HTTP应用层负载均衡,实现HTTP的改写,头信息的改写,安全应用规则的控制,以及转发
8.4Nginx负载均衡实现原理
将所有的客户端的请求代理,然后转发到对应后端的服务器上,不是转发到一台,而是转发到一组虚拟的服务池(upstream server),服务池通过轮询不断的分发到服务器上面,
8.5配置语法
Syntax: upstream name{….}
Default:-
Context:http
注:配置到server层以外
8.6实例
第一台服务器中建立三个文件,分别是code1,code2,code3,里面是三个静态文件,在conf.d文件下分别创建server1.conf server2.conf server3.conf,分别监听8001,8002,8003的端口,然后分别访问自己的静态文件
upstream zbc{#名字自定义
server 116.62.103.228:8001;
server 116.62.103.228:8002;
server 116.62.103.228:8003;
}
server{
listen 80;
server_name: www.text.com
location / {
proxy_pass httP://zbc;
includ proxy_params;#之前的通用配置
}
}
然后访问http://www.text.com,不断刷新就可以看到是三个不同页面了
iptables -I INPUT -p tcp —dport 8002 -j DROP //将访问8002端口的链接drop掉
8.6 upstream举例
upstream backend{#backen1.example.com //支持域名和ip访问
server backend1.example.com weigh=5; #weigh 加入权重,权重越大,几率越高
server backend2.example.com:8080;
server unix:/tmp/backend3;
server backup1.example.com:8080 backup; #backup 表示这是一个备份结点
server backup2.example.com:8080 backup;
}
8.7Nginx 调度算法