Nginx负载均衡

31 阅读1分钟

已经有两个项目jar放置在Ubuntu系统下某文件夹,两个项目分别对应8081端口和8082端口

要实现轮询,只需要进行以下两个操作:

修改Nginx配置文件

upstream backend { 
    server localhost:8082; 
    server localhost:8081; 
} 
server{ 
    listen 80; 
    server_name 39.108.210.131; 
    location / { 
        proxy_pass http://backend; 
    }
}

注意打开浏览器“禁用缓存”,输入网址,进行轮询

更新nginx后,在浏览器输入对应网址,不断刷新

image.png

负载均衡

  • 负载均衡可以根据服务器的实际负载情况动态调整请求的分发策略,确保所有服务器资源得到充分利用。
  • 避免某些服务器过载而其他服务器空闲的情况,提高整体资源利用率。
  • 当某个服务器出现故障时,负载均衡器可以将请求自动重定向到其他正常运行的服务器上,从而确保服务的连续性。

负载均衡的算法

  1. 轮询(Round Robin)

    • 按顺序将请求分发到每个服务器。
  2. 加权轮询(Weighted Round Robin)

    • 根据服务器的权重分配请求,权重高的服务器处理更多的请求。
  3. 最少连接(Least Connections)

    • 将请求分发到当前连接数最少的服务器。
  4. 加权最少连接(Weighted Least Connections)

    • 结合权重和连接数,将请求分发到连接数最少且权重较高的服务器。
  5. IP哈希(IP Hash)

    • 根据客户端IP地址的哈希值将请求分发到特定的服务器,确保同一客户端的请求总是发送到同一服务器。