根据官方的文档,首先给出了如下所示的范例
http {
upstream myapp1 {
server srv1.example.com;
server srv2.example.com;
server srv3.example.com;
}
server {
listen 80;
location / {
proxy_pass http://myapp1;
}
}
}
这个例子就是配置了一个名为myapp1的http负载均衡服务器组
即为http负载均衡的基本配置格式和语法
nginx负载均衡包括:轮训(round-robin)、最少连接(least-connected)、ip哈希(ip-hash)三种机制
轮训:发送到服务器端的http请求被轮训到负载均衡配置中的服务器;
最少连接:发送到服务器端的http请求被分配到负载均衡配置中活动链接数最少的服务器;
IP哈希:使用一种基于客户端的IP地址的哈希方法来决定分配到请求的服务器
配置方法如下:
最少连接负载均衡
upstream myapp1 {
least_conn;
server srv1.example.com;
server srv2.example.com;
server srv3.example.com;
}
ip哈希
upstream myapp1 {
ip_hash;
server srv1.example.com;
server srv2.example.com;
server srv3.example.com;
}
轮训
upstream myapp1 {
server srv1.example.com weight=3;
server srv2.example.com;
server srv3.example.com;
}
解释:weight为权重,默认为1,如果有五个请求,那么前三个请求会被分配到srv1,第四个请求分配至srv2,第五个请求分配至srv3,如此周而复始。
注意:
1,默认为轮训方式;
2,最少连接数和轮训机制会在客户端与服务器会话期间将客户端的请求分配到不同的服务器,而ip哈希可以维持会话,将请求始终保持在同一服务器上
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。