写点什么

盘点:2018 年双 11 背后的蚂蚁核心技术

  • 2019-08-29
  • 本文字数:3349 字

    阅读完需:约 11 分钟

盘点:2018年双11背后的蚂蚁核心技术

小蚂蚁说:

你们都很关心的 “OB 双 11 大促实战分享” 专题来啦!本系列将为你系统性的介绍 OceanBase 支撑蚂蚁双 11 背后的技术原理和实战分享。

从平台到架构,再到实现,一起来探索蚂蚁双 11 这场神秘的技术之旅吧!


2018 年的双 11 十周年,最终成交额以 2135 亿元创纪录收官,支付宝系统在这场“商业奥运会”中再次经受住了考验。这也是 OceanBase 顺利支撑蚂蚁双 11 的第五年。


从五年前,只有 10%流量切到 OceanBase 上,到如今 OceanBase 2.0 版本成功支撑 2018 年双 11 的支付宝核心链路。每年不变的是一如既往的表现平稳,丝般顺滑,变化的是技术能力的不断升级和迭代。今年的双 11,OceanBase 2.0 扛起了大梁,性能比去年提升了 50%,真正实现了“零成本”支撑大促。

一、2018 双 11 大促使用了哪些核心技术?

今年的双 11,OceanBase 致力于通过底层架构及平台能力的提升,来实现双 11 稳定性、成本优化、性能及效率方面的全方位的提升。相较以往始终如一“丝般顺滑”的大促能力外,2018 年的双 11,OceanBase 更加注重长久技术能力的沉淀:


  • OceanBase2.0 版本首次上线支付宝的核心链路,包括交易、支付系统,为“峰值百万支付能力”的三年战略沉淀了通用的“极致弹性”的分布式数据库能力,夯实了百万支付的底层基座。

  • 在底层存储介质方面,OceanBase 2.0 核心链路首次 100%运行在容器上,同时存储计算分离架构上线,大幅降低资源成本的同时夯实统一存储基座。

  • 在智能化运维的实践方面,OCP(OceanBase 云平台)着眼于 SQL 优化诊断、故障根因分析和智能容量规划等数据库关键场景,将数据库专家的经验与 AI 算法/机器学习相结合,提供智能化的数据库服务。

  • 在平台能力的沉淀上,OCP 引入 Orchestration 理念,通过编排/复用原子变更任务灵活,实现大促快速弹出/弹回的流程,同时平台内置变更免疫及变更三板斧能力(可监控/可灰度/可回滚),极大的提升了大促整体的稳定性和效率;在整个大促期间,OCP 自动执行 40000+变更,最终实现全程零故障。


在商业产品化方面:智能化运维及平台能力抽象出大促及对外商业化场景,建设通用能力来覆盖蚂蚁内外场景

二、OceanBase 2.0 & 百万支付

每年双 11 的压力在不断创造新高,支付系统需要具备百万每秒的支付能力,那么一个亟待解决的问题是:如何解决最小数据分片的峰值能力超过单机性能的问题。


OceanBase 2.0 应运而生,其目标是在应用无感知的情况下对数据分片进一步拆分,将数据 sharding 到无限多的机器上,实现极致弹性能力优雅支撑百万支付峰值。

1.百万支付架构

如下图的百万支付架构所示,传统数据库的弹性架构,将数据进行物理拆分到不同机器,业务在数据访问、研发、后期维护及数据配套设施上都非常繁琐;同时拆分后资源很难快速回收,且数据拆分及聚合无法实现业务无损。



相比于传统数据库的弹性架构,OceanBase 2.0 架构完全不侵入业务,内部通过分区实现数据分片的自组织及负载均衡,通过生成列及分区规则实现自动路由,通过分区聚合(partition_group)消除分布式事务性能开销以提升性能,从而实现无损线性伸缩。另外,数据分片间 share_nothing 及多版本的架构,实现分片故障隔离及单点故障消除的高可用架构。

2.性能提升

为实现“零成本大促”,OceanBase 2.0 花了非常多的精力致力于性能的提升。相比 OceanBase1.0,2.0 在分布式架构上全面升级,如原生 sharding/分布式事务优化/优化事务提交日志开销。


OceanBase 作为底层基础软件,任何微小的性能提升都会为业务节省大量资源,秉承持续优化的匠心,OceanBase 2.0 在数据库底层架构、系统实现层面及数据库运行环境全方位进行优化。最终,OceanBase 2.0 相比 1.0 提升了 50%的性能,实现今年双 11 大促的零机器增加。

三、OceanBase 容器化 & 存储计算分离

双 11 峰值需要大量的资源支撑,而峰值后资源处于低水位状态,如何快速申请/释放这部分资源?双 11 当天非支付链路资源空闲,大促是否可以抢占这批资源?大促不同活动时间错峰,不同链路的资源可否实现快速腾挪?类似的资源问题不一而足。


大家可以发现以上问题的本质在于:如何最大化程度降低双 11 当天的资源成本?这是大促技术要实现的一个核心价值。


双 11 大促资源成本与两个因素相关,一个是大促资源的总数目,另一个是持有时长。我们可以通过系统优化提升单机性能,来降低大促资源的总数目(如前章节提到的 OceanBase 2.0 的性能优化)。


那么如何降低持有时长呢?我们统一的思路是:用“高峰期抢占/低峰值释放资源”的方式来大幅降低持有时长;其两个关键前提技术就是容器化和存储计算分离。

1.OceanBase 容器化

OceanBase 容器化的核心思想是“资源调度”,大促目标就是“OceanBase 能够被快速调度到各种资源载体上(如离线资源、云资源、峰值无压力的数据库其他集群)”;容器化屏蔽了底层资源载体的差异化,具备弹性部署高效的优点,是资源调度的前提条件。OceanBase 打造自身调度能力,深入结合副本、租户的概念,精细化资源画像,使得 OB 容器化部署快速实现分时复用、资源抢占及混部。

2.存储计算分离

存储计算分离,顾名思义,将数据库运行依赖的计算资源和存储资源部署到不同的资源载体上,从而实现数据库的弱状态化,使得数据库可分别对存储和计算资源进行弹性伸缩。其好处是显而易见的。


典型场景:


大促态——CPU 资源需求激增,而存储资源增幅很小,那么我们可以针对性对计算资源的机型进行扩容,从而降低资源成本且提升扩容效率;


日常态——OB LSM 架构将离散 IO 转化成顺序 IO,因此存储的 IO 能力不是瓶颈,更多的是存储空间上的需求;存储计算分离后,多集群间可降低存储碎片,共享整体存储资源池,提升资源利用率。

四、平台智能化

随着业务规模的快速增长,系统稳定性 SLA 预发严峻和 OceanBase 部署的多样化,传统平台已无法满足我们的需求,可以预见不久的将来,运维将成为业务扩展的瓶颈。因此,OceanBase 平台正在逐步走向智能化道路实现智能运维。


OCP 着眼于 SQL 优化诊断、故障根因分析和智能容量等大促关键场景,目标是将运维专家的技术经验和 AI 算法/机器学习技术相结合,分解运维关键技术,开发成一系列的智能运维模型,应用于大规模运维系统中。


众所周知,SQL plan 的正确性对数据库运行至关重要。OCP 针对风险场景 SQL,在千万峰值压力下,实时进行 plan 正确性比对,并对可能存在性能变坏隐患的 SQL 进行分钟级修正。


容量水位是大促至关重要的一环,OCP 通过数据建模/智能水位预测对集群/租户/docker 进行容量画像,结合 OceanBase 内置 Tenant Group 能力,实现容器/集群/租户等多个维度的自动扩缩容,同时计算容量 plan 在集群/租户维度混部,实现最佳负载均衡部署【 深度部署资源利用率达到(n-1)/n 】,大幅节省了机器资源。


OCP 作为 OceanBase 的“智能大脑”,实时监控数据库运行状态,小至单条 SQL plan,大至数千台机器容量,真正做到了生产环境智能化全覆盖。未来,OCP 还将不断创新数据库智能化的运维之路,打造更加完善的数据库自治体系。

五、生态与连接

蚂蚁金服与金融机构最早建立的连接是基于支付业务的合作,后来又逐渐扩展了很多其他普惠金融类的业务,比如网商银行的同业合作,借呗/花呗等。如今随着在蚂蚁金服内部多年积累的技术能力与产品能力,OceanBase 也将全面走向外部,对所有行业开放,通过科技作为新的连接纽带助力企业的数字化转型。


过去金融业 IT 系统的基础架构建设基本都来自国外,如 IBM、甲骨文、EMC 这些公司构建底层架构,其中门槛最高的就是数据库的整体平滑替换。OceanBase 团队从成立之初就肩负着使命,即我们要做一款通用数据库真正的去推动整个社会的进步,能够让整个社会的生产力发生变化。


从 2016 年底,OceanBase 就开始准备走出去,用技术改变业务形态;用技术创造新的业务模式,与更多企业建立更为紧密的连接关系。近两年对外服务的过程中,通过与 ISV 的深度合作与赋能,不仅提供 OceanBase 内核的能力,也不断丰富周边配套产品生态,涵盖使用数据库过程中的方方面面。


未来,我们将继续致力于提供高可用、高性能、低成本的数据库服务,相信通过科技的连接助力更多企业,让科技的产出变成可以量化的业务价值。



本文转载自公众号蚂蚁金服科技(ID:Ant-Techfin)。


原文链接:


https://mp.weixin.qq.com/s/UMZxWgjI3HxtR1FneS06dA


2019-08-29 18:32934

评论

发布
暂无评论
发现更多内容

软件测试/测试开发丨Docker 搭建Web服务器nginx

测试人

nginx Docker 软件测试 自动化测试 测试开发

喜讯!华秋电子荣获深圳市半导体行业协会优秀合作奖

华秋电子

统一观测丨使用 Prometheus 监控 Nginx Ingress 网关最佳实践

阿里巴巴云原生

阿里云 云原生 Prometheus

各界伙伴畅谈展望,OpenCloudOS发布首个全自研版本

科技热闻

MySQL多版本并发控制MVCC实现原理

做梦都在改BUG

Java MySQL 数据库 MVCC

三点几嚟,饮茶先啦!PaddleSpeech发布全流程粤语语音合成

飞桨PaddlePaddle

人工智能 机器学习 深度学习 语音识别

数智时代的来临,养老行业接入人工智能技术已是势不可挡

加入高科技仿生人

人工智能 AI 养老服务 养老

软件测试/测试开发丨必知必会的Docker 命令

测试人

Docker 软件测试 自动化测试 测试开发

软件测试/测试开发丨必知必会的Docker 命令

测试人

Docker 软件测试 自动化测试 测试开发

阿里秀MySQL高端玩法,300页MySQL调优文档GitHub开源即巅峰

做梦都在改BUG

Java MySQL 数据库

GitHub开源大厂缓存架构Redis优化的文档,900页全是干货

做梦都在改BUG

Java 数据库 redis 缓存

三次迭代终放“大招”,Themis Pro版即将问世

西柚子

北京国家会计学院副教授王亚星:智能会计和价值财务有力支撑企业高质量发展

用友BIP

【转载】亚信科技亮相中国高速公路信息化大会,与云南云通数联达成战略合作

亚信AntDB数据库

AntDB AntDB数据库 企业号 4 月 PK 榜

愿我们心中都有信念,眼里都有光芒

禅道项目管理

团队管理 项目管理 敏捷开发

2023企业上云暨算云融合产业大会在京召开

中国IDC圈

算力 可信云

快速玩转 CNStack 2.0 流量防护

阿里巴巴云原生

阿里云 云原生 CNStack

关于编译的重要概念总结

timerring

编译器

LeaRun低代码开发平台 赋能企业快速落地BI大屏

力软低代码开发平台

Spring MVC 之 HttpMessageConverter

做梦都在改BUG

Java spring Spring MVC

三思光电入选浙江省2023数字化生产制造示范项目名单!

电子信息发烧客

硬核!GitHub置顶102W字Redis高手心法笔记

做梦都在改BUG

Java 数据库 redis 缓存 面试

北京国家会计学院聂兴凯:用友BIP事项会计助力企业迈入智能会计时代

用友BIP

智能会计 价值财务

软件测试/测试开发丨应用打包还是测试团队老大难问题?

测试人

软件测试 自动化测试 测试开发

深入理解JVM运行机制与GC机制

做梦都在改BUG

Java JVM 虚拟机 GC

最强嘴替:新任技术管理者如何快速成长,完成转型逆袭?

LigaAI

技术管理 管理者 逆袭 技术人成长 企业号 4 月 PK 榜

【送猫超卡、阿里云代金券】动手体验 SAE+云效 10 分钟快速打通 CI/CD 流水线

阿里巴巴云原生

阿里云 Serverless 云原生

阿里云EMAS移动测试最佳实践|马来西亚第一大电子钱包通过EMAS测试提效6倍

移动研发平台EMAS

云计算 阿里云 移动研发平台 移动测试

海尔牵头!又一国家重点研发计划启动!

Openlab_cosmoplat

人工智能 开源项目 开源社区

# 架构实战营-模块1-作业

Geek_e948d4

盘点:2018年双11背后的蚂蚁核心技术_文化 & 方法_天街_InfoQ精选文章