搜狐首页 科技 无心法师2

手机搜狐

SOHU.COM

17.5W秒级交易峰值下的混合云弹性架构之路

作者:唐三、乐竹、锐晟、潇谦,阿里中间件技术团队。

责编:魏伟

每年的双11都是一个全球狂欢的节日,随着每年交易逐年创造奇迹的背后,按照传统的方式,我们的成本也在逐年上升。双11当天的秒级交易峰值平时的近10多倍,我们要用3-4倍的机器去支撑。但大促过后这批机器的资源利用率不高,到次年的双11会形成较长时间的低效运行。试想一下,电商交易有大促峰值,而阿里云有售卖Buffer,如果能充分发挥云计算的弹性能力,让资源可以两边快速腾挪,就可以解决资源浪费的问题了。把我们的交易单元可以部署在云上面,那么大促的时候我们只需要按照压测模型去云上构建一个符合能力的新单元即可,用完马上释放掉,这样无疑是最优雅的。专有云+公共云 的混合云弹性架构成为一种自然而然的选择,不但可以资源合理利用,降低成本,同时也锻炼了阿里人的的技术能力,为用户提供更优质的服务。

有了架构思路,实现起来似乎也没那么容易。阿里的交易涉及几百个系统,他们之间的依赖错综复杂,如果能够把他们快速的搭建在云上?这次系统之间的依赖如何复杂,如果把他们的容量估算好,快速调整他们的容量水位?这就不得不提到下面的两个秘密武器了:一键建站和弹性容量交付。

1. 一键建站

1.1 背景

一键建站是在底层基础设施交付的基础上,快速地在一个空机房部署交易单元,使新机房迅速具备对外提供服务的能力。一键建站的逆过程叫一键下站,即迅速切除单元流量,释放所有单元内应用的物理资源。

从架构的层面看,一键建站的基础是阿里电商体系的异地多活。从运维的角度看,一键建站是运维产品的升华,更是运维效率的核心体现。

一键建站第一次被提出是在2014年,但由于系统多,依赖复杂,加上中间件的复杂性,当时新建一个单元需要耗时近1个月的时间,更是需要所有单元链路上的运维同学参与。去年,DB实现了一次完整意义上的一键建站,中间件的建站实现了半自动化,但是应用的建站过程仍需要很多运维同学的支持。今年,一键建站进行了重构,并提出一天(8小时)一单元的目标,在几乎不用运维同学参与的情况下,顺利支持了3个云单元的建站工作,最快一次耗时6小时建站。

1.2 挑战

今年的双11单元架构是三地五单元,一中心四单元,也是第一次遇到同机房两单元。如何控制单元内的链路封闭,单元与单元、单元与中心的同步与可见性,是异地多活的大挑战,也是一键建站的难点。

首先需要明确单元内部署什么。建站需要维护一份知识库,包括单元的数据库,中间件,统一接入,以及导购、商品、店铺、交易、会员等一百多个应用。需要知道每个产品的服务器配置,软件配件,容量需求,甚至是应用间链路依赖等相关信息。这份知识库会跟随日常运维操作,调用链路日志等不断更新。同时,一个完整单元不仅仅包含线上环境,还需包含预发环境与小流量(测试环境),每套环境都有自己的一份知识库。

精选