这篇文章想跟大家再进一步分享一下,我对反向代理及负载均衡的理解 。
首先“反向代理”是相对于“正向代理”而言的,有朋友会问这个反向代理到底是怎么个反向法?大家在公司里面,如果公司对于上网管控比较严格的话,通常在内网里是不能通过路由的方式直接上网的,公司的网管会要求你必须设置代理服务器(浏览器或微信客户端网络设置选项里)来访问互联网,可能要需要进行账户密码的验证 。所谓代理,就比如你要上www.163.com这个网站,你浏览器的请求并不是直接与163.com去建立连接的,而是跟你的代理服务器去建立连接请求,然后你的代理服务器再代替你去跟www.163.com建立请求连接,最后网站把请求结果的页面返回给代理服务器,代理服务器再把页面返回给你 。这种“从内到外”的访问路径,就是正向代理了 。

文章插图
正向代理
【理解什么是正向代理?反向代理?】那么反向代理就很好理解了,它是相对于正向代理的“从内到外”而言的,反向代理的访问路径则是“从外到内” 。反向代理的使用场景通常是,如果你有一台web服务器,想提供互联网用户访问,然后出于安全考虑你不想让你的web服务器直接暴露在公网,又或者你的web服务器不是一台而是几台服务器组成的一个集群,那么这个时候你就会考虑部署反向代理服务器顺便实现对web集群多台服务器的负载均衡 。整个访问流程跟正向代理一致,假如你的网站域名是www.aaa.com,当用户通过浏览器访问你这个站点时,实际上是跟你的反向代理服务器建立的三次握手连接,再由反向代理服务器再跟后端的web服务器进行建立请求连接,后端web服务器响应请求结果给反向代理,再由反向代理服务器把结果返回给用户 。

文章插图
反向代理
对于个人理解而言,如果你的代理服务器后端只对应了一台应用服务器,那么这种场景就可以简单的叫做反向代理 。而如果你的代理服务器后端配置的是一组多台的服务器集群,那么再结合反向代理服务器的负载均衡算法如轮询、最小连接数、权重等等来分发用户的请求到集群不同的服务器上,那这个就可以叫做负载均衡了 。如常见的F5、A10、LVS、HAproxy、Nginx等软硬件产品都是具备负载均衡功能的 。
如果公司里面有用F5负载均衡设备的朋友可能清楚,在做VirtualServer配置的时候需要选择模式,常用的有“performance L4”和“Standard”两种 。这两种模式的区别就是,performance layer4是四层代理,而Standard是七层代理 。那么四层代理跟七层代理又有什么区别呢?下面这2张图可以清楚的展现出来两者的差别:

文章插图
四层代理模式

文章插图
七层代理模式
从上图可以看出,四层代理模式,对于负载均衡设备来说,只负责连接的请求转发,不改变TCP连接的任何参数,由客户端与后端服务器自行协商TCP参数 。而七层代理模式,则是真正意义上的“代理”模式了,客户端和后端服务器的TCP连接是完全独立的,分别都是与负载均衡设备进行协商 。另外一个主要区别就是,四层代理主要是根据IP+PORT来转发的,七层代理则可以根据应用层http的属性来转发,能够更加灵活的处理报文 。当然了,七层代理由于是拆开更高层的包来做处理,相对于四层代理来说则会更加的消耗性能 。
以上,就是本次分享的内容 。
推荐阅读
-
全球奢侈婚礼|香槟粉色的优雅大方,纯粹自然的户外婚礼,白绿色的素雅色系
-
-
大数据下的“110”:江苏接处警总量实现“三连降”
-
女生出国读一流大学的商科博士值得么回国就业有啥优势
-
-
-
-
#幽默桥#真的很影响玩游戏的心情!,幽默笑话:奉劝大家不要轻易找女朋友
-
墨西哥_社会|美国前航空工程师及伴侣在墨西哥离奇失踪,几天后尸体在井底被找到
-
美女健康之路|遗传基因会影响癌症转移?首个证据被找到了
-
为啥作为理应关注季节变化的农耕民族, 中国人的祖先没有发展出阳历(阳历中24节气的位置固定), 而理应密切关注潮汐的航海民族却没有发展出以月相为基础的阴历(月相在阴历中固定)?
-
车市谈|Model3一马当先,埃安S和北汽EU稳进前三,5月新能源销量出炉
-
工作生活中有哪些事是你后知后觉的,“卧槽,原来还可以这样啊”
-
「杨力伟音乐排行榜」柳岩变婴儿!,比姚明还高10公分的巨人合影:泰森小鸟依人
-
-
『极速聊科技』人力资源如何真正走向大数据分析,人工智能时代
-
快看|不小心让老丈人听到了,开心一笑:前女友打电话让我参加她的婚礼
-
范特有车加入RS元素,配双液晶大屏,动力不变,诚意十足!奥迪A4L上市
-
新闻科技快报|服务工程师节在即!618苏宁帮客网点齐亮剑
-
小乐谈天下|迪丽热巴齐刘海造型引发争议,粉丝纷纷留言:失去少女感,像蔡明