本篇文章介绍Nginx实现负载均衡,本文使用Nginx和两个SpringBoot简单Web应用实现。
1.准备工作。
结合本文场景,需要安装Nginx和Java环境(运行SpringBoot项目)。
1.1 关于Linux系统安装Nginx可以参考我的文章---(传送门)。
1.2 由于只是测试,SpringBoot只是映射了根路径,端口分别是10001和10002,分别返回demo1和demo2字符串作为区分。
2.Nginx负载均衡的集中方式介绍
2.1 轮询
轮询方式是Nginx负载默认的方式,顾名思义,所有请求都按照时间顺序分配到不同的服务上,如果服务Down掉,可以自动剔除,如下配置后轮训10001服务和10002服务。
upstream dalaoyang-server { server localhost:10001; server localhost:10002;}2.2 权重
指定每个服务的权重比例,weight和访问比率成正比,通常用于后端服务机器性能不统一,将性能好的分配权重高来发挥服务器最大性能,如下配置后10002服务的访问比率会是10001服务的二倍。
upstream dalaoyang-server { server localhost:10001 weight=1; server localhost:10002 weight=2;}2.3 iphash
每个请求都根据访问ip的hash结果分配,经过这样的处理,每个访客固定访问一个后端服务,如下配置(ip_hash可以和weight配合使用)。
upstream dalaoyang-server { ip_hash; server localhost:10001 weight=1; server localhost:10002 weight=2;}2.4 最少连接
将请求分配到连接数最少的服务上。
upstream dalaoyang-server { least_conn; server localhost:10001 weight=1; server localhost:10002 weight=2;}2.5 fair
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
upstream dalaoyang-server { server localhost:10001 weight=1; server localhost:10002 weight=2; fair; }3.Nginx配置
以轮训为例,如下是nginx.conf完整代码。
worker_processes 1;events { worker_connections 1024;}http { upstream dalaoyang-server { server localhost:10001; server localhost:10002; } server { listen 10000; server_name localhost; location / { proxy_pass http://dalaoyang-server; proxy_redirect default; } }}4.测试
重启nginx,第一次访问http://localhost:10000如图所示,
在次访问如图所示
如果要修改负载均衡算法修改对应upstream模块即可。
继续阅读与本文标签相同的文章
上一篇 :
json前后端数据交互相关代码
-
联华华商,你变了!
2026-05-18栏目: 教程
-
基于宜搭的“设备报修”实践案例
2026-05-18栏目: 教程
-
客服服务除了电话和工单还有哪些服务?阿里云服务方式整理
2026-05-18栏目: 教程
-
个人音视频常用工具介绍
2026-05-18栏目: 教程
-
用自定义监控实现 GPU 异常状况的检查与报警
2026-05-18栏目: 教程
