由于Nginx实现动态流量切换需要借助反向代理技术来实现,因此在配置Nginx的反向代理时,我们必须通过Nginx的upstream{}指令将所有服务器节点统一管理。
参考配置:
upstream backend {
ip_hash;
server 192.168.1.1 weight=10;
server 192.168.1.2 weight=10;
server 192.168.1.3 weight=20;
server 192.168.1.4 weight=30;
server 192.168.1.5 weight=40;
}
server {
listen 80;
server_name site.com;
location / {
proxy_pass http://backend;
}
}
在公司中很多工种都只做自己那一小块,昨天我和一个同事讨论nginx切流量怎么弄,他讲了半天估计自己也没搞明白,又去问一个同事,他告诉我用阿里云的SLB,说自己也搞不清楚nginx怎么切,关键是这2个同事还都是干线上运维的,今天想起来直接问ChatGPT,发现如此简单~关键是说的也很清晰
人的缺点是,做全就无法做精,做精就肯定不全,记忆容量也有限,还有很多人懂但是就是讲不清楚,所以在已有知识领域,人被AI取代是大势所趋,且已经初见端倪了
意思是upstream 把服务器组成一个group,weight进行流量分配?
@Javaer 是的,我继续问:nginx的upstream weight参数的作用是什么?设置成0表示什么意思?
ChatGPT :
upstream weight参数是用来设置请求的权重的,它决定了负载均衡服务器分配给每台后端服务器的请求数量。设置成0表示当前后端服务器不接受任何请求,而且Nginx会将其标记为down状态。