“支撑双十一912亿的背后,阿里云的技术牛到什么地步?” 随笔
“支撑双十一912亿的背后,阿里云的技术牛到什么地步?” 随笔
天猫双十一每一年都在大幅打破去年的记录,这对阿里云的硬件要求也越来越高,那么为什么每年春运抢票总是网页,app没有反应,而双十一却能保证如此的正常运作。
- 异地多活
多活指的多活体,也就是说多个服务器(通常是数据中心里的集群)同时运行支撑业务运行,打个比方就是多个人同时完成一个大项目。 一是保证高可靠性——简单说不会说一个数据中心挂了,整个网站业务就停了,或者在主备(冷)模式下,主数据中心关了,最新数据没同步,普通的历史数据备份也就是算了(慢慢导)
二是保证高可用性——也就是说系统运行顺畅,客户快快的访问,少少的延时,按照阿里巴巴技术保障部研究员林昊的说法,1000公里以上的网络延迟来回一次是30毫秒左右,用户其实没有感受,但是当用户打开一个淘宝页面的时候,一次点击背后大概有100多次以上的后端交互,如果全部跨地域完成的话,就意味着页面的响应时间将增加3秒,不仅用户绝对会有明显感受,很多页面也会因为超时出不来了。
“多活”工作中,就要解决掉距离带来的延时问题,以及多点写入时对外数据显示一致性的问题。怎么做?按照阿里大牛们的解释,大概是这样的思路,首先,在一个机房内完成一次页面访问的整个操作,因为没有跨域,所以基本不存在延时的问题;其次,把业务划成了各种各样的单元,按照用户维度、业务性质等等进行切分,单元封闭之后,让单元内的应用访问和数据的读写操作全部处于封闭状态,在一个单元里完成相应的数据处理事务,这样解决数据对外显示一致性的问题。这一切都在于阿里云的数据迁移服务DTS,解决异地数据同步的问题,解决不同地区数据一致性的问题。
2.分布式关系数据库
整个核心链路都是在OceanBase上运行,这个独特的数据库是阿里自主研发的数据库,传统的Oracle和MySQL伴随的数据量的增大和业务数据的扩展,会不断地拆库拆表,这样会对性能有着明显的影响,OceanBase相当于加持了扩展(Scalability)属性的关系型数据库,它最大的不同就是保持基本的,大部短时间不会发生改变的数据不会,而将增删改的动作进行保存,而主体数据按照主键分块连续存放在多台机器,因此OceanBase按主键的范围查询对应着连续的磁盘读,十分高效
3.混合云时代架构
无论是在余额宝、花呗的诞生,还是OceanBase的诞生等等,都是阿里巴巴被现实需求及不给力的合作环境倒逼出来的业务创新。如果不去做业务创新,新的业务需求无法满足,或者无法以符合成本效率的条件满足,所以阿里巴巴、阿里云开发出一个个具有核心竞争力的突破性的技术。为了更好的支持企业使用阿里云的各种技术,阿里云还推出了“一键建站技术”,在基础设施具备的条件下,通过阿里自研的自动化软件,将中间件、数据库、商品交易系统、商品展示系统等上百个电商核心系统,像搭积木一样部署完成。整个过程一键完成,基本无需人工干预,所需时间不到90分钟——即使像今年的淘宝、天猫交易单元,也是在90分钟之内自动化完成的。