怎么做阿里巴巴英文网站,网站模板教程,电子商务师证怎么考,国外点击链接推广平台目录 一、负载均衡的作用
二、负载均衡状态
三、负载均衡的指令
1、upstream 指令
2、server指令
四、负载均衡几种方式
1、轮询#xff08;Round Robin 常用#xff09;
2、IP Hash #xff08;较少#xff09;
3、最少连接数#xff08;Least Connections 较少Round Robin 常用
2、IP Hash 较少
3、最少连接数Least Connections 较少
4、加权轮询Weighted Round Robin 常用
5、fair较少
6、backup(一般) 一、负载均衡的作用
解决服务器的高并发压力提高应用程序的处理性能。提供故障转移实现高可用。通过添加或减少服务器数量增强网站的可扩展性。在负载均衡器上进行过滤可以提高系统的安全性。
二、负载均衡状态 状态 概述 down 当前的server暂时不参与负载均衡 backup 预留的备份服务器当主服务器不可用时将用来传递请求 max_fails 允许请求失败的次数 fail_timeout 经过max_fails失败后, 服务暂停时间 max_conns 限制最大的接收连接数
三、负载均衡的指令
1、upstream 指令 该指令是用来定义一组服务器它们可以是监听不同端口的服务器并且也可以是同时监听TCP和Unix socket的服务器。服务器可以指定不同的权重默认为1。
2、server指令 该指令用来指定后端服务器的名称和一些参数可以使用域名、IP、端口或者unix socket。与之前的server指令不一样。
四、负载均衡几种方式
1、轮询Round Robin 常用 轮询是最常见的负载均衡方式Nginx会按照请求的顺序依次将请求分发给后端服务器。例如如果有3台后端服务器Nginx会将第1个请求分发给服务器A第2个请求分发给服务器B第3个请求分发给服务器C然后循环重复。适于无状态的请求。
配置示例
upstream backend {server backend1;server backend2;server backend3;
}server {listen 80;location / {proxy_pass http://backend;}
}示例
upstream backend{server 192.168.153.128:8081;server 192.168.153.128:8082;server 192.168.153.128:8083;
}
server {listen 8080;server_name localhost;location /{proxy_pass http://backend;}
}示例2对特定资源负载upstream videobackend{server 192.168.153.128:9001;server 192.168.153.128:9002;
}
upstream filebackend{server 192.168.153.128:9003;server 192.168.153.128:9004;
}
server {listen 8084;server_name localhost;location /video/ {proxy_pass http://videobackend;}location /file/ {proxy_pass http://filebackend;}
}示例3对不同域名实现负载upstream qwe{server 192.168.153.128:9001;server 192.168.153.128:9002;
}
upstream asd{server 192.168.153.128:9003;server 192.168.153.128:9004;
}
server {listen 8085;server_name www.qwe.cn;location / {proxy_pass http://qwe;}
}
server {listen 8086;server_name www.asd.cn;location / {proxy_pass http://asd;}
}2、IP Hash 较少 IP Hash方式根据客户端的IP地址进行哈希计算将同一个客户端的请求始终转发到同一台后端服务器上。这样可以保证同一个客户端的请求都由同一台服务器处理适合于需要保持会话的应用场景。
配置示例
upstream backend {ip_hash;server backend1;server backend2;server backend3;
}server {listen 80;location / {proxy_pass http://backend;}
}3、最少连接数Least Connections 较少 最少连接数方式会将请求分发给当前连接数最少的后端服务器以达到负载均衡的效果。这种方式适用于后端服务器性能不一致的情况。
配置示例
upstream backend {least_conn;server backend1;server backend2;server backend3;
}server {listen 80;location / {proxy_pass http://backend;}
}4、加权轮询Weighted Round Robin 常用 加权轮询方式可以根据后端服务器的性能配置不同的权重来调整请求的分发比例。权重越高的服务器会接收到更多的请求。
配置示例
upstream backend {server backend1 weight3;server backend2 weight2;server backend3 weight1;
}server {listen 80;location / {proxy_pass http://backend;}
}示例
upstream backend{server 192.168.153.128:9001 weight7;server 192.168.153.128:9002 weight5;server 192.168.153.128:9003 weight3;
}
server {listen 8083;server_name localhost;location /{proxy_pass http://backend;}
}5、fair较少
upstream backend {fair;server backend1 weight3;server backend2 weight2;server backend3 weight1;
}server {listen 80;location / {proxy_pass http://backend;}
} fair模块是比上面几个更加智能的负载均衡算法。此种算法可以依据页面大小和加载时间长短智能地进行负载均衡也就是根据后端服务器的响应时间来分配请求响应时间短的优先分配。Nginx本身是不支持fair的如果需要使用这种调度算法必须下载Nginx的upstream_fair模块再次不做演示
6、backup(一般) backup关键字用于定义备份服务器。当主服务器宕机或无法处理请求时备份服务器将接手处理请求。
upstream backend {server backend1;server backend2 backup;
}server {listen 80;location / {proxy_pass http://backend;}
}当 backend1 处于在线状态并且能够处理请求时Nginx将只将请求发送到backend1。
只有当backend1 宕机或者由于某些原因无法处理请求时Nginx才会将请求发送到backend2。
这种配置通常用于高可用性部署确保在主服务器宕机时有一个备用服务器可以接手处理请求从而减少服务中断的影响。