JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

高可用集群——业务分发和灰度发布

wys521 2024-10-19 09:44:28 精选教程 20 ℃ 0 评论

我们之前谈到负载均衡器时,提到L7的负载均衡能够解析报文,能够按用户、主机等参数进行分发,达到业务分发的作用,比如有web、web2两个网站,橙色部分的负载均衡器做分发作用,能够根据入访的域名分发到不同集群中,可能后面的环境还需要一层负载均衡器做服务保障。


起到分发作用的负载均衡软件,目前最具代表性的是Nginx。Nginx基于HTTP协议,在进行负载过程中进行L7解包,实际上是维持了两条链路,负载均衡器与客户端、负载均衡器与后端服务器形成了两条完整的TCP链路。解包后,可以得到HTTP协议中的数据,就可以根据消息头或者消息的某个字段进行分发。你还可以对Nginx进行二次开发,加载特定的模块,实现分发数据(比如用户数据)的管理,从而可以使特定的用户的请求指向新的集群,这就是金丝雀发布(或者灰度发布)的原理。

L7负载均衡器因为进行数据处理,并且每个请求维持两条链路,这个对性能消耗非常大,上述的架构还可以变成:


对于大并发量,需要复杂多对多的网络互通的时候,可以采用之前将的N×M网络架构设计实现分发和金丝雀发布方案


在客户端访问真实服务前,需要向控制节点申请地址,控制节点判断为灰度用户、测试用户还是现网用户。从而下发不同的地址,用户接入不同的环境,达到测试、灰度发布等目的。

其中控制节点要维持三个地址池,现网业务集群、测试服、灰度服。控制节点维护两张表:灰度用户表和测试用户表,在这两张表之外,全部送达现网业务集群。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表