参考资料

  1. 负载状态(load average)是衡量系统工作量的指标
  2. 如何优化高负载情况下的I/O性能?
  3. load average过高怎么解决
  4. load average多少是正常
  5. linux 使用负载均衡技术分散请求
  6. 宝塔面板计划任务脚本文件放在哪里
  7. 负载状态(load average)中的数据代表了什么?
  8. 负载状态(Load Average)详解与解决示例

linux 使用负载均衡技术分散请求

Linux 使用负载均衡技术分散请求(详细操作示例)

1. Nginx 负载均衡配置

Nginx 是一个高性能的 HTTP 反向代理服务器,支持多种负载均衡算法(轮询、权重、IP Hash)。

(1)安装 Nginx
# Ubuntu/Debian
sudo apt update
sudo apt install nginx -y

# CentOS/RHEL
sudo yum install epel-release -y
sudo yum install nginx -y
(2)配置负载均衡

编辑 Nginx 配置文件 /etc/nginx/nginx.conf/etc/nginx/conf.d/loadbalancer.conf

http {
    upstream backend {
        # 轮询(默认)
        server 192.168.1.101:80;
        server 192.168.1.102:80;
        
        # 加权轮询(weight 越高,分配请求越多)
        # server 192.168.1.101:80 weight=3;
        # server 192.168.1.102:80 weight=1;
        
        # IP Hash(同一客户端固定访问同一后端)
        # ip_hash;
    }

    server {
        listen 80;
        server_name loadbalancer.example.com;

        location / {
            proxy_pass http://backend;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
}
(3)检查并重启 Nginx
sudo nginx -t  # 检查配置是否正确
sudo systemctl restart nginx

2. LVS(Linux Virtual Server)负载均衡

LVS 是 Linux 内核级别的负载均衡,支持 NAT/DR/TUN 模式。

(1)安装 LVS
# Ubuntu/Debian
sudo apt install ipvsadm -y

# CentOS/RHEL
sudo yum install ipvsadm -y
(2)配置 LVS-NAT 模式

假设:

  • 负载均衡器(LVS 服务器):192.168.1.100

  • 后端服务器 1:192.168.1.101

  • 后端服务器 2:192.168.1.102

# 启用 IP 转发
echo 1 > /proc/sys/net/ipv4/ip_forward

# 添加虚拟服务(VIP)
ipvsadm -A -t 192.168.1.100:80 -s rr  # rr 表示轮询

# 添加后端服务器
ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.101:80 -m  # -m 表示 NAT 模式
ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.102:80 -m

# 查看规则
ipvsadm -Ln
(3)测试

客户端访问 192.168.1.100:80,LVS 会自动将请求分发到后端服务器。


3. HAProxy 负载均衡

HAProxy 是一个高性能的 TCP/HTTP 负载均衡器,支持健康检查。

(1)安装 HAProxy
# Ubuntu/Debian
sudo apt install haproxy -y

# CentOS/RHEL
sudo yum install haproxy -y
(2)配置 HAProxy

编辑 /etc/haproxy/haproxy.cfg

frontend http_front
    bind *:80
    default_backend http_back

backend http_back
    balance roundrobin  # 轮询
    server server1 192.168.1.101:80 check  # check 表示健康检查
    server server2 192.168.1.102:80 check

    # 加权轮询
    # server server1 192.168.1.101:80 weight 3 check
    # server server2 192.168.1.102:80 weight 1 check
(3)启动 HAProxy
sudo systemctl restart haproxy

4. Keepalived 实现高可用

Keepalived 可以防止单点故障,配合 VRRP 协议实现 VIP 漂移。

(1)安装 Keepalived
# Ubuntu/Debian
sudo apt install keepalived -y

# CentOS/RHEL
sudo yum install keepalived -y
(2)配置 Keepalived

编辑 /etc/keepalived/keepalived.conf

mongo-express,详细简介,特点,最新更新内容以及时间,镜像下载地址,官网地址,阅读的文档地址,docker安装示例,.yarl设置教程,常用错误问题