Nginx代理模式

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 【8月更文挑战第15天】本文介绍了代理模式中的正向代理、反向代理与透明代理,并详细探讨了Nginx负载均衡策略。在Nginx负载均衡中,包括简单的轮询方法、考虑服务器性能的加权轮询法、确保同一IP地址会话一致性的源地址哈希法、依据连接数动态分配任务的最小连接数法,以及更智能的Fair算法和URL哈希方法。这些方法不仅提升了负载均衡的效率,还解决了特定场景下的问题,如会话保持等。

#代理模式

l 正向代理

image.png


反向代理

image.png

透明代理



image.png

Nginx负载均衡


轮询法(默认)

• 将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的系统负载

l 加权轮询法(weight )

• 不同的后端服务器可能机器的配置和当前系统的负载并不相同,因此它们的抗压能力也不相同

• 给配置高、负载低的机器配置更高的权重,让其处理更多的请求

• 配置低、负载高的机器,给其分配较低的权重,降低其系统负载

• 加权轮询能很好地将请求顺序且按照权重分配到后端

• weight的值越大分配到的访问概率越高

upstream tomcat_server {

server 192.168.10.11:8080 weight=1;

server 192.168.10.12:8080 weight=1;

}

upstream tomcat_server {

server 192.168.10.11:8080 weight=1;

server 192.168.10.12:8080 weight=2;

}


源地址哈希法

• 根据获取客户端的IP地址,通过哈希函数计算得到一个数值

• 用该数值对服务器列表的大小进行取模运算,得到的结果便是客服端要访问服务器的序号

• 采用源地址哈希法进行负载均衡,同一IP地址的客户端,当后端服务器列表不变时,它每次都会映射到同一台后端服务器进行访问

• 可以保证来自同一ip的请求被打到固定的机器上,可以解决session问题

l 最小连接数法(least_conn)

• 由于后端服务器的配置不尽相同,对于请求的处理有快有慢,最小连接数法根据后端服务器当前的连接情况,动态地选取其中当前积压连接

数最少的一台服务器来处理当前的请求,尽可能地提高后端服务的利用效率,将负责合理地分流到每一台服务器

upstream tomcat_server {

ip_hash;

server 192.168.10.11:8080 weight=1;

server 192.168.10.12:8080 weight=1;

}

upstream tomcat_server {

least_conn;

server 192.168.10.11:8080 weight=1;

server 192.168.10.12:8080 weight=1;

}

Fair

• 比weight、ip_hash更智能的负载均衡算法

• 可以根据页面大小和加载时间长短智能地进行负载均衡,也就是根据后端服务器的响应时间来分配请求,响应时间短的优先分配

• Nginx本身不支持fair,如果需要这种调度算法,则必须安装upsteram_fair模块

l url_hash

• 按访问的URL的哈希结果来分配请求,使每个URL定向到一台后端服务器

• 可以进一步提高后端缓存服务器的效率

• Nginx本身不支持url_hash,如果需要这种调度算法,则必须安装Nginx的hash软件包

upstream tomcat_server {

fair;

server 192.168.10.11:8080 weight=1;

server 192.168.10.12:8080 weight=1;

}

upstream tomcat_server {

hash $request_uri;

server 192.168.10.11:8080 weight=1;

server 192.168.10.12:8080 weight=1;

}



相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
应用服务中间件 nginx
nginx 代理模式下,获取客户端真实IP
  最近做博友推荐,发现个小问题,用$_SERVER['REMOTE_ADDR'];得到的都是服务器的地址192.
1242 0
|
2月前
|
缓存 应用服务中间件 网络安全
Nginx中配置HTTP2协议的方法
Nginx中配置HTTP2协议的方法
180 7
|
3月前
|
应用服务中间件 BI nginx
Nginx的location配置详解
【10月更文挑战第16天】Nginx的location配置详解
|
3月前
|
缓存 负载均衡 安全
Nginx常用基本配置总结:从入门到实战的全方位指南
Nginx常用基本配置总结:从入门到实战的全方位指南
437 0
|
2月前
|
负载均衡 监控 应用服务中间件
配置Nginx反向代理时如何指定后端服务器的权重?
配置Nginx反向代理时如何指定后端服务器的权重?
182 61
|
1月前
|
存储 应用服务中间件 nginx
nginx反向代理bucket目录配置
该配置实现通过Nginx代理访问阿里云OSS存储桶中的图片资源。当用户访问代理域名下的图片URL(如 `http://代理域名/123.png`)时,Nginx会将请求转发到指定的OSS存储桶地址,并重写路径为 `/prod/files/2024/12/12/123.png`。
77 5
|
2月前
|
缓存 负载均衡 算法
如何配置Nginx反向代理以实现负载均衡?
如何配置Nginx反向代理以实现负载均衡?
|
2月前
|
存储 负载均衡 中间件
Nginx反向代理配置详解,图文全面总结,建议收藏
Nginx 是大型架构必备中间件,也是大厂喜欢考察的内容,必知必会。本篇全面详解 Nginx 反向代理及配置,建议收藏。
Nginx反向代理配置详解,图文全面总结,建议收藏
|
1月前
|
负载均衡 前端开发 应用服务中间件
负载均衡指南:Nginx与HAProxy的配置与优化
负载均衡指南:Nginx与HAProxy的配置与优化
108 3
|
2月前
|
应用服务中间件 API nginx
nginx配置反向代理404问题
【10月更文挑战第18天】本文介绍了使用Nginx进行反向代理的配置方法,解决了404错误、跨域问题和302重定向问题。关键配置包括代理路径、请求头设置、跨域头添加以及端口转发设置。通过调整`proxy_set_header`和添加必要的HTTP头,实现了稳定的服务代理和跨域访问。
576 1
nginx配置反向代理404问题