惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Blog of Author Tim Ferriss
小众软件
小众软件
S
Schneier on Security
S
Securelist
P
Proofpoint News Feed
D
DataBreaches.Net
博客园_首页
S
Security Affairs
Application and Cybersecurity Blog
Application and Cybersecurity Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
博客园 - Franky
C
Check Point Blog
GbyAI
GbyAI
H
Help Net Security
The Register - Security
The Register - Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
雷峰网
雷峰网
博客园 - 叶小钗
WordPress大学
WordPress大学
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
T
The Exploit Database - CXSecurity.com
L
LINUX DO - 热门话题
C
Cybersecurity and Infrastructure Security Agency CISA
SecWiki News
SecWiki News
T
Threatpost
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
Tenable Blog
H
Hacker News: Front Page
宝玉的分享
宝玉的分享
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Hacker News - Newest:
Hacker News - Newest: "LLM"
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
C
CERT Recently Published Vulnerability Notes
Google Online Security Blog
Google Online Security Blog
P
Privacy & Cybersecurity Law Blog
N
News | PayPal Newsroom
M
MIT News - Artificial intelligence
P
Privacy International News Feed
博客园 - 三生石上(FineUI控件)
美团技术团队
S
SegmentFault 最新的问题
Forbes - Security
Forbes - Security
Last Week in AI
Last Week in AI
Spread Privacy
Spread Privacy
酷 壳 – CoolShell
酷 壳 – CoolShell
IT之家
IT之家
Cyberwarzone
Cyberwarzone
博客园 - 聂微东
Hugging Face - Blog
Hugging Face - Blog
Engineering at Meta
Engineering at Meta

博客园 - wsky

生产环境使用Nuget 为WebClient增加Cookie支持 keepalived安装和使用 NHibernate分享 PPT 开源选型关注点 SocketAsyncEventArgs stunnel+haproxy SSL以及问题记录 快速实现一个简单的bigpipe模型 Velocity2010大会回顾 小结一下关于bpm实施方面的交流 乱弹之企业应用 互联网企业流程部门价值方向的一些探讨 Live Writer的代码插件 再谈团队,项目,产品 【渐进】设计一个模拟并行的线程同步组件 【渐进】浅尝DDD,对"试卷"建模 【渐进】延迟加载机制的简易实现(上) - wsky - 博客园 略谈“开发效率” 分工,协作,团队
【渐进】关于反向代理,负载均衡
wsky · 2009-11-17 · via 博客园 - wsky

一.反向代理的概念

      什么是反向代理呢?其实,反向代理也就是通常所说的WEB服务器加速,它是一种通过在繁忙的WEB服务器和Internet之间增加一个高速的WEB缓冲服务器(即:WEB反向代理服务器)来降低实际的WEB服务器的负载。典型的结构如下图所示: 

8c92e874-f170-42cb-b803-5680cd081d1a

      Web服务器加速(反向代理)是针对Web服务器提供加速功能的。它作为代理Cache,但并不针对浏览器用户,而针对一台或多台特定Web服务器(这也是反向代理名称的由来)。实施反向代理(如上图所示),只要将Reverse Proxy Cache设备放置在一台或多台Web服务器前端即可。当互联网用户访问某个WEB服务器时,通过DNS服务器解析后的IP地址是Reverse Proxy Server的IP地址,而非原始Web服务器的IP地址,这时Reverse Proxy Server设备充当Web服务器,浏览器可以与它连接,无需再直接与Web服务器相连。因此,大量Web服务工作量被卸载到反向代理服务上。不但能够防止外部网主机直接和web服务器直接通信带来的安全隐患,而且能够很大程度上减轻web服务器的负担,提高访问速度。  

[以上摘自网络]

二. 负载均衡

      反向代理可以说是负载均衡的手段之一,用于代理请求和转发,通常来说,负载均衡的普遍做法就是N台平行的Web Server,前端架一台Reverse Proxy Server(反向代理服务器),选用一个合适的算法作为转发依据,实现N台Web Server均分处理用户请求。

      这种均分也存在两种情况:一种就是简单的处理数量的均分,一种则是从处理能力上来均分(可以达到真正意义上的运算能力和吞吐量的均衡),这些是取决于选用的算法。

      Web Server这一端采用平行架构,也会带来一些问题,比如用户会话,当一个用户首次请求被路由到第一台Server上,那么当前会话便会创建在这台Server上,下一次请求则有可能被路由至另外一台机器,这样便造成会话丢失。

      要解决这个问题,也有两种主要的方法:

      一是N台Server共用一台会话服务器(如ASP.NET的会话服务器)或是构建分布式缓存服务器等以实现会话(缓存)和Web Server的分离。

      二是在代理服务器上作改动,实现基于IP的路由算法,让来自同一个IP的访问总是被代理至同一台webserver,这样对于后端就完全透明,不侵入原有的Web架构,但他同样存在问题,比如这个方法要求你的代理服务器必须位于你整个架构的最前端,否则它是无法获得真实的访问者IP的(比如代理服务器之前还有一层转发)。

这里要感谢dx同学的分享,受益匪浅,本文在部分概念介绍的转载之余,按记忆和理解总结了一些应用场景,之后将不断完善补充。

附可参考框架:

Nginx   LVS