在开源PaaS Rainbond 中,我们对各种应用层协议匹配不同的网络治理插件,以实现7层负载均衡(layer 7 load balancing),例如HTTP、gRPC、 Redis 等协议。原因在于对于一些在线环境,我们希望可以对服务间调用实现热更改或者更好的容错,比方说A/B测试、灰度发布等等,必须要在7层负载均衡上完成。
那么什么是7层均衡,它跟4层负载均衡(layer 4 load balancng)有何不同?
7层负载均衡和4层负载均衡之间的区别
4层负载均衡在中间传输层执行,它处理消息的传递,但不考虑消息的内容。例如TCP是网络上Hypertext Transfer Protocol(HTTP)流量的第四层协议。在这一过程中,4层负载均衡会将网络数据包转发到上游服务器,但不会检查数据包的内容,只能通过检查TCP流中的前几个包来做出有限的路由决策。
7层负载均衡不同于4层负载均衡,它在高级应用层上执行,会处理每个消息的实际内容。HTTP是网络上网站流量的主要7层协议。7层负载均衡以比4层负载均衡更复杂的方式路由网络流量,尤其适用于基于TCP的流量(如HTTP)。7层负载均衡会终止网络流量并读取器中消息,它可以根据消息内容(如URL或cookie)做出负载均衡决策。随后,7层负载均衡与选定上有服务器建立新的TCP连接并将请求写入服务器。
7层负载均衡的好处
7层负载均衡比基于数据包的4层负载均衡更占CPU,但很少会导致服务器性能下降。7层负载均衡可以让负载均衡器做出更明智的决策,并可以对内容进行优化和更改,如压缩、加密等等。7层负载均衡还可以利用buffering来卸载上游服务器的慢速连接,从而提高性能。
执行7层负载平衡的组件通常被称为反向代理服务器。
7层负载均衡示例
举个简单的例子,假设用户访问高流量网站,在会话期间,他或她可能会请求静态内容(例如图像或视频)、动态内容(例如新闻订阅源)或者交易信息(例如订单状态)等等。7层负载平衡允许负载均衡器根据请求本身中的消息(如内容类型)来路由请求。也就是说,我们可以将对图像或视频的请求路由到存储它的服务器,并进行高度优化以提供多媒体内容;可以将诸如折扣价之类的交易信息请求路由到负责管理定价的应用服务器。借助7层负载平衡,网络和应用程序架构师可以创建高度优化的服务器基础架构或应用交付网络,在保障可靠性的同时进行有效扩展。
- END -
关于Rainbond
> Rainbond 是一款以应用为中心的开源PaaS,由好雨基于 Docker 、Kubernetes等容器技术自主研发,可作为公有云或私有云环境下的应用交付平台、DevOps平台、自动化运维平台和行业云平台,或作为企业级的混合云多云管理 工具 、Kubernetes容器管理工具或Service Mesh微服务架构治理工具。
- Rainbond项目网站
-
试用Rainbond公有云
- * 注册或使用Demo账号/密码登录:rainbond-demo/rainbond-demo
- Github
- 码云
- 文档
- 微信群: 添加微信“zqg5258423”并接受邀请入群
阅读更多
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 3分钟了解负载均衡,分清二层负载均衡和三层负载均衡
- 负载均衡策略之有限负载一致性哈希
- 负载均衡之软硬件负载均衡的优缺点
- 医疗信息系统高负载如何应对?找准东华负载均衡
- 性能大比拼-真实世界工作负载vs实验室综合工作负载
- 负载均衡有多神密?来研究下ShareWAF的开源负载均衡!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Hard Thing About Hard Things
Ben Horowitz / HarperBusiness / 2014-3-4 / USD 29.99
Ben Horowitz, cofounder of Andreessen Horowitz and one of Silicon Valley's most respected and experienced entrepreneurs, offers essential advice on building and running a startup—practical wisdom for ......一起来看看 《The Hard Thing About Hard Things》 这本书的介绍吧!