记住这个单词:cluster(集群)
随着网站,应用访问量增加,一台服务器已经无法满足应用的需求,而需要更多的服务器集群,这时就会用到负载均衡
2.负载均衡再(nginx upstream_module)[【注意语法结构结束符“;”记得加呦】
syntax:(注意要在nginx配置文件里http全局模块中写位置一定不能错)
upstream test(集群名){
server 提供服务的服务器IP;
server(可以有多个server);
}
3.在配置文件中(server中写一个location)
syntax:
server {
location / {
proxry_pass http:// test :端口号;}
}
4.负载均衡的算法
轮询(默认):每个请求按时间顺序逐一分配到不同的后端服务器
ip_hash : 每个请求按访问ip的hash结果分配,同个ip客户端固定访问一个后端服务器
url_hash: 按访问的url的hash结果来分配请求,使每个url定向到同一个后端服务器
fair: 这是比上面两个更加智能的负载均衡的算法,按后端服务器的响应时间来分配请求,响应时间短的优先分配
注意:nginx本身不支持fair的,如果需要使用这种调度算法,必须下载nginx的upstream_fair模块
配置实例
1.热备:如果你有2台服务器,当一台服务器发生事故时,才起启用第二台服务器给提供服务。服务器处理请求的顺序:aaaaaa挂了 ,bbbbbbbbb
例:upstream test {
server 192.168.12.125;
server 192.188.74.59 backup ; #热备
}
2.轮询:nginx默认就是轮询其权重比默认值都为1,服务器请求顺序为:ababab
upstream test {
server 192.168.12.125;
server 192.188.74.59 ;
}
3.加权轮询:根据配置的权重的大小而分配给不同服务器不同数量的请求。如果不设置,则默认值为1.下面的服务器请求顺序为:bbabba
upstream test {
server 192.168.12.125 ;weight1
server 192.188.74.59 ;weight2
}
4.IP_hash
4、ip_hash:nginx会让相同的客户端ip请求相同的服务器。
upstream myweb {
server 172.17.14.2:8080;
server 172.17.14.3:8080;
ip_hash;
}