当前位置:项目开发->项目经验 ->专业解释反向代理和负载均衡这点事

原创版权标志专业解释反向代理和负载均衡这点事

作者:codexia  发表时间:2018/8/10 8:52:00  阅读:
[摘要] 深入图解服务器负载均衡的三种模式区别:反向代理、透明传输和三角模式。要想搞清楚服务器的那点事,这几个概念和图还是需要理解到位的。
使用支付宝扫码领红包,余额宝付款才可以使用红包哦!不要忘记哈。每天扫一次,天天赚红包!!可以将二维码保存到手机,每天直接扫码领红包啦!!
    在文章《服务器负载均衡的三种模式区别:反向代理、透明传输和三角模式》中,作者用了专业的方式讲述了三个模式的区别。但是看起来还是有点复杂的样子。所以,经过再查资料和反复推敲,用小白也能听懂的方式讲述了反向代理和负载均衡的区别。文章为《小白也能理解的反向代理和负载均衡的区分分析》。
    在看了这个小白理解的文章之后,再来看本文哈。

        我们依然是来解释这三种模式的,不过是从专业点的角度来说的。下图的几个元素说明:A代表用户电脑端,B代表中间服务器端,C代表目标网站服务器端。IP是请求时携带的东西,A -> C 表示这个请求的源IP是A的IP,目标IP是C的IP。借此说明A用户访问的是C网站。不过中间有一个B服务器,也就代表,这个请求是先经过B服务器的。后面类推。

        下面就三种模式进行详细说明:

    1.反向代理

    

        我们先来看看上面这个图。反向代理过程的图示,A访问网站时,比如C++技术网,在浏览器输入网址http://www.cjjjs.com,那么就是直接访问的C++技术网。如果没有开启VPN等软件,也没有使用代理,那么A用户就直接访问了C++技术网,此时没有中间的B服务器,是最常见的访问方式。如果开启了VPN等软件,那么浏览器输入的网址看似直接访问了C++技术网,其实不然。浏览器的请求会被VPN拦截,请求实际被发送到了B服务器,也就是此时的VPN服务器。请求发到B服务器后,B服务器将请求中源IP和目标IP分别切换为B和C,然后将请求发给了C,也就是目标网站C++技术网。

        网站只要接收到请求,都是按照请求的源地址和目标地址进行翻转后回复。对C来说,访问网站的是B,并不能感知到A的存在。而A则以为是直接访问的C++技术网。中间的这个转换,是B幕后完成的。A用户可以随意访问网站,不用管VPN的存在。VPN会自动处理内部的转换。

    

    2.负载均衡

    
    负载均衡时,我们从图中可以看到,和反向代理唯一的区别就是用不一样颜色标注的字母。区别在于,A用户此时访问的并不是C++技术网。至少目标网站不是,可能用户访问了一个假的C++技术网。此前确实有很多网站镜像C++技术网,我们也是利用这个原理进行了屏蔽。另外一种情况就是,C++技术网升级配置,支持更高的访问量,会专门开一个服务器用于接受用户的请求,然后再额外的服务器来处理请求。那么用户接受用户请求的这个服务器就是B服务器,而真正处理请求的服务器就是C服务器。B可以快速将请求分发到不同的服务器来处理,可以有效控制服务器压力,支持更大的并发访问量、

        只不过,B服务器为了更好的记录用户信息,会将A的地址在分发请求到C服务器时传递给C服务器,就好像是A用户直接访问了一样。如果没有做这个地址的转换,我们就可以直接屏蔽。用户就好像是真正访问了C++技术网一样。

        这个不是代理,因为B服务器在这里起的作用,主要就是缓解压力。所以通常将B服务器的这个分发请求的功能叫做负载均衡。

    

    3.三角模式

    

        三角模式可以看做是反向代理的一个穿透版本。A直接访问的C,而C直接感知的还是A。实际上B进行了代理。这样的处理,可以让目标网站感觉时真实的用户在访问。所以目标网站不好对源IP进行控制。而对于恶意镜像的网站,是直接充当第一种模式的反向代理,所以通过源IP一下就锁定了。如果是三角模式,就不好搞了。但是三角模式要实现起来还是有点难度的。

    

        以上也是目前常用的和反向代理以及负载均衡相关的三个模式的解释。

微信扫码关注公众号CPP技术网,微信号cpp_coder,关注我们的公众号,阅读更多精彩内容!每天还可以领取大红包哦!!!每天还可以领取大红包哦!!!每天还可以领取大红包哦!!!
文章来源:C++技术网原创文章版权为网站和作者共同所有,会员文章禁止转载。非会员文章转载做好本文超链接即表示授权转载。通过文章下面的分享按钮可以自由分享所有文章。

返回顶部

在线提问
问题标题:
问题描述:(简陋的描述会导致问题被最后回答、没有针对性回答甚至无法解答。请确保问题描述的足够清楚。)