这时就需要:负载均衡(Load Balancing)一、为什么需要负载均衡?
Nginx→ → 8080
→ 8081
→ 8082
二、模拟三台后端服务
python3 -m http.server 8080python3 -m http.server 8081python3 -m http.server 8082
三、配置 upstream
vim /etc/nginx/conf.d/loadbalance.conf
upstream backend { server 127.0.0.1:8080; server 127.0.0.1:8081; server 127.0.0.1:8082;}server { listen 80; server_name lb.local; location / { proxy_pass http://backend; }}
四、负载均衡策略详解
1️⃣ 权重模式
upstream backend { server 127.0.0.1:8080 weight=3; server 127.0.0.1:8081 weight=1;}
2️⃣ ip_hash(会话保持)
upstream backend { ip_hash; server 127.0.0.1:8080; server 127.0.0.1:8081;}
3️⃣ least_conn(最少连接)
upstream backend { least_conn; server 127.0.0.1:8080; server 127.0.0.1:8081;}
五、节点故障测试
server 127.0.0.1:8080 max_fails=3 fail_timeout=30s;
六、生产架构升级思路
用户
↓
公网负载均衡
↓
Nginx 集群
↓
应用服务器集群
↓
数据库
七、常见问题排查
1️⃣ 所有请求只打到一台机器
2️⃣ 后端偶发 502
tail -f /var/log/nginx/error.log
八、本篇核心能力升级