网站首页 > 技术教程 正文
大家好,我是mikechen。
Nginx是一款高性能HTTP和反向代理服务器,它也提供了多种负载均衡策略,下面详解常用的负载均衡策略@mikechen
本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。
Nginx负载均衡
当系统面临大量用户访问,负载过高的时候,通常会使用Nginx增加服务器数量来进行横向扩展,然后将请求分发到各个服务器上。
如下图所示:
将用户访问的请求,根据负载均衡算法,分发到集群中的一台处理服务器,这就是我们说的负载均衡。
Nginx负载均衡作用
1.解决并发压力
提高应用处理性能,增加吞吐量,加强网络处理能力。
2.实现高可用
提供故障转移,实现整个应用的高可用。
3.实现扩展性
通过添加或减少服务器数量,提供网站伸缩性扩展性。
4.实现安全防护
负载均衡设备上做一些过滤,黑白名单等处理。
Nginx负载均衡策略
Nginx负载均衡的三种方式主要是:轮询模式、权重模式、ip_hash。
1.轮循(默认)
轮询模式:将请求按顺序轮流分配到后台服务器上,均衡的对待每一台服务器,而不关心服务器实际的连接数和当前的系统负载。
2.加权模式
这种方式比较灵活,当后端服务器性能存在差异的时候,通过配置权重,可以让服务器的性能得到充分发挥,有效利用资源。
3.ip_hash模式
根据服务消费者请求客户端的IP地址,通过哈希函数计算得到一个哈希值,将此哈希值和服务器列表的大小进行取模运算,得到的结果便是要访问的服务器地址的序号。
每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题。
Nginx负载均衡配置
Nginx负载均衡的三种方式主要是:轮询模式、权重模式、ip_hash,下面分别配置详解。
1.轮询配置示例
1)实现效果
输入:http://192.168.200.130/test/a.html,实现负载均衡的效果,平均分摊到8080和8081端口中。
2)环境工具
Nginx+JDK8+2台Tomcat,一台8080,一台8081。
3)修改配置
在 Nginx的配置文件中进行负载均衡的配置,修改配置文件nginx.conf。
如下图所示:
修改完配置后,重启nginx,在浏览器中输入http://192.168.200.130/test/a.html ,多次刷新便可以看到每次请求的是不同的Tomcat服务器。
2.加权配置示例
加权轮询只需要修改server中weight值就可以了,如下所示:
upstream myserver{
server 192.168.5.16:80 weight=2;
server 192.168.5.18:80 weight=5;
}
在server IP:Port的后面增加weight的值即可。
3.ip_hash配置示例
每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器。
配置需要增加ip_hash,如下所示:
ip_hash配置示例:
upstream myserver{
ip_hash;
server 192.168.71.167:8080 weight=1;
server 192.168.71.167:8081 weight=1;
}
以上
本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。
猜你喜欢
- 2024-10-13 Nginx 多进程高并发、低时延、高可靠机制在滴滴缓存代理中的应用
- 2024-10-13 linux的TCP连接数量不能超过65535个,如何应对千万的并发的?
- 2024-10-13 Nginx实现高速并发处理的原理详解
- 2024-10-13 Java开发大型互联网企业高并发限流特技
- 2024-10-13 高并发下的Nginx限流实战(nginx并发能力是多少)
- 2024-10-13 nginx——控制 Nginx 并发连接数(nginx 并发限流)
- 2024-10-13 Nginx(七) 测试使CPU占用更多能否提升并发数
- 2024-10-13 Nginx凭啥子并发数可以达到3w!(nginx的并发量)
- 2024-10-13 nginx负载均衡-提升服务的并发能力
- 2024-09-28 服务器能承载3000人但来5000人!服务器宕机了!如何救
你 发表评论:
欢迎- 最近发表
-
- Win10 TH2正式版官方ESD映像转换ISO镜像方法详解
- 使用iso镜像升级到Windows 10的步骤
- macOS Ventura 13.2 (22D49) Boot ISO 原版可引导镜像
- 安利一个用ISO镜像文件制作引导U盘的的小工具RUFUS
- CentOS 7使用ISO镜像配置本地yum源
- 用于x86平台的安卓9.0 ISO镜像发布下载:通吃I/A/N、完全免费
- AlmaLinux 9.6发布:升级工具、初步支持IBM Power虚拟化技术
- Rufus写入工具简洁介绍与教程(写入模式)
- 新硬件也能安装使用了,Edge版Linux Mint 21.3镜像发布
- 开源工程师:Ubuntu应该抛弃32位ISO镜像
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)