Web服务现网升级部署——给高速行驶的汽车换轮子

Web服务现网升级部署——给高速行驶的汽车换轮子

现网多版本同步运行方案

众测发布

一般作为客户端的前台或后台会有该阶段的测试。参与测试的人员,一般为真实的种子用户。服务端也具备识别种子用户群体的能力,其可以通过客户端版本号或者其他用户标识以分发到众测版本。

灰度发布

新老版本并存运行。分批量开放用户使用。在分批切换的过程中,监控新版本的运行情况。如

A/B测试

互联网面向2C的常用运营手段。新版本不止一种方案,而是在不同用户群体(用户群体总体上不应有较大差异)中使用不同的方案版本。并检测其各项关键指标的差异,以决定最后的发布版本。 灰度发布其实也属于AB测试的一种,使用的技术手段也基本一致。

负载均衡&流量分发

以上这些现网升级发布的手段,都有一个共同点:现网同时存在多个服务器版本对外提供服务。那么,如何实现这一点呢,这就得引出我们一个关键的网络基础服务——负载均衡服务器。

负载均衡服务器,是将访问流量根据转发策略分发到后端多台云服务器(ECS实例)的流量分发控制服务。负载均衡扩展了应用的服务能力,增强了应用的可用性。在阿里云平台上,称作SLB(Server Load Balancer)。在华为云平台上,称作ELB(Elastic Load Balance)。

负载均衡器

其流量分发控制的能力,也正好满足了不同版本同时对外提供服务的能力。

例如我们将图中BackendServer_1服务器作为灰度服务器。在Listener上的转发策略中做一些针对性的配置:

  • 对于众测发布,可以根据请求中的header、body甚至IP做一些特定的过滤,将众测群体的请求都发送到灰度服务器中,其他大量的正常的非众测请求依旧使用历史版本处理。
  • 对于灰度发布,则可以调节流控比。将特定比例的请求转发到灰度服务器,分阶段发布。例如先将一台服务器作为灰度服务器升级,然后将三分之一的流量转发到灰度服务器。灰度运行一段时间,反响良好,则继续升级第二台服务器,然后将更多流量转发到灰度服务器。最后直到所有的流量都切换到新版本。不过一般而言,往往会保留少量服务器运行老版本服务,以防止未知错误发生时快速回滚。
  • 对于A/B测试,则可以将BackendServer_1用于发布A版本的服务,BackendServer_2用于发布B版本的服务,灰度运行评估之后,再统一切到最合适的版本。

不同场景下的灰度升级形式

分布式跨地域容灾场景

如图,下面是阿里云跨地域容灾场景下负载均衡器向后端服务器进行分发的架构图


产品架构

对于超大的分布式系统,负载均衡器及服务器主机也只不过变成了以集群为单位进行规划,但其本质还是一样。划分灰度服务器集群,灰度升级,负载均衡器集群上配置合理的灰度策略。并做好指标监控。便可以做到现网服务升级的平滑过渡了。

<font color=gray>注:其实对于这个架构图,如果是一个跨区域的大公司,还会在SLB前面添置一个专门面向公网的负载均衡器,以屏蔽内部网络架构。也更方便做自己内网架构的设计。</font>

单主机练手模式

单机情况下,我们需要明白负载均衡器能实现的基本功能,Nginx也能做得到 (<font color=gray>不考虑性能或高级功能的情况下</font>)。那么,我们只需要在Nginx上配置转发策略即可。而如果没有多的后端服务器的情况下,则只需多规划几个端口给tomcat启动不同版本的服务;多规划几个目录给不同的Nginx映射到不同的前端版本。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容