浙江移动首个基于阿里云技术的生产应用上线成功

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介:

一、项目背景

为落实公司“十三五”战略,建立“架构先进、运营高效、内外兼顾”的IT体系, 浙江移动近日受总部信息技术中心委托和指导,探索传统企业与互联网公司新型合作模式,跟踪行业发展态势,开展新技术、新产品研究和创新,在集团内首次携手亚洲最大的云计算公司——阿里云,在“可监可管可运维”基础上,开展第三方基础组件引入试点验证。

二、实施策略

浙江公司经过与阿里云工程师多次讨论后决定,采用分阶段实施与快速试点,在降低对应用侵入的同时又要兼顾实际效应,考虑轻量级系统验证和关键业务引入。试点具体分为多个阶段执行,其中一阶段以快速落地验证技术组件为目标。

一阶段总体原则以经历天猫双11核心交易业务和各类型业务考验的阿里云DRDS分布式关系型数据库服务(Distributed Relational Database Service)组件在M域试点应用的快速验证为诉求,完成“统一用户管理”应用迁移DRDS的“短平快”功能验证,开发上尽量以最小化改造实现DRDS的“分库分表”、“平滑扩容”以及“无差别运维”。一阶段完成后出具改造的评估报告,为二阶段实施提供参考。

三、一阶段总结

一阶段选取了“统一用户管理”系统作为试点,该应用原来采用了传统中小型应用常见的前后端一体化架构,原有的数据库为PostgreSQL。随着业务的不断发展,“统一用户管理”系统的传统基础架构正不断接受挑战,其中数据库单点瓶颈问题尤其突出,存在单库容量平瓶颈、扩展困难、二次开发难度高、性能问题难以优化等诸多问题。

1、改造前后系统部署架构对比如下:

a0766392b658aca3ed677a970a1107432c4b9c6c

图1——原“统一用户管理”系统部署架构

fd6a5691b5c2bf2159bfd090f4924536d30ee583

图2——“统一用户管理”接入DRDS后的系统部署架构

2、一阶段实施后的收益:

应用本身只需进行少量的接口适配工作即可接入DRDS,收益则是分布式数据库所带来一系列优秀特性:

1)分库分表

支持数据库分库分表,在创建分布式数据库后,可以按照业务特性设定拆分规则,实现数据水平拆分。

2)透明读写分离

通过使用只读实例实现读写分离,可低成本增加集群读负载能力,释放主库压力,且对业务代码透明,无需改造;同时具备一致性读能力。

3)数据存储平滑扩容

当出现数据存储容量和访问量瓶颈时,支持在线存储容量扩展,扩容无需应用改造,扩容进度支持可视化跟踪。

3、一阶段实施过程中的挑战:

“统一用户管理”作为首个接入试点的应用,在一阶段实施过程中先后遇到数据库语法不兼容如何解决、如何制定拆分方案、分布式事务如何解决等问题,并一一攻克。

1)从PostgreSql到DRDS

应用原有数据库选型为PostgreSQL,而DRDS目前仅可以无缝对接Mysql。因此,应用首先要完成数据库切换并解决数据库间Sql方言或特性差异的问题。

开发团队从代码逻辑入手,全面替换了不兼容的数据类型,并在功能测试中不断分析SQL执行效率并进行细致优化,为应用后续接入DRDS做好充分准备。

2)分库分表拆分规则

应用存在若干千万级的核心大表,在迁移到DRDS时应根据“确定业务主体——寻找关键字段——计算分库分表数”三步原则处理。

以工单操作属性表为例,该表所有操作围绕“工单操作”进行,因此选定applyopid(工单单号)为拆分键。未来预估此表1-2年的数据总量为六千万行,根据以下公式可得此表需按照分库且每个分库两个分表执行:

单库物理分表数 = CEILING(60,000,000 / ( 1 * 8 ) / 5,000,000) = 2

da36c2ea0cfea993ae6dca2e3219c937bc87af0d

图3——分库分表规则说明

3)分布式事务实践—全局事务服务(Global Transaction Service,简称 GTS)

在对应用的几张核心大表进行拆分后,原本存储在单库单表里面的数据分散到了多库多表里,因而应用在对相关数据进行写操作时会涉及到分布式事务的问题。

分布式事务管理的传统解决方案是基于XA协议的两段提交方式,需要进行针对性的开发,对已有业务逻辑有较大侵入,且性能较差。

经过综合评估后,决定引入阿里云的全局事务服务GTS。GTS具有接入简单、与DRDS无缝衔接、对业务逻辑无侵入的特性,有效地解决了由数据库拆分引发的一系列事务控制问题。

de7f7046108a0ff53b6f1f543718e452dbdf4323

图4——“统一用户管理”系统接入GTS部署示意图

四、建设历程

一阶段于今年2月上旬立项,春节后正式开始实施,在浙江移动和阿里云双方精诚合作下,前后仅用了1个多月的时间就将试点应用成功发布上线。期间重大工程里程碑如下:

1、2018年2月上旬,在春节前完成立项,春节后项目正式启动。

2、2018年3月底,系统成功将数据库迁移至MySQL。

3、2018年4月底,系统完成生产数据割接并正式接入DRDS。

五、延展思考

本次合作是中国移动集团内部首次与业界先进互联网公司的深度技术合作,在践行集团“可监可管可运维”理念的基础上,通过一阶段试点业务的改造实践,在组件能力、运维模式、运维工具、集成方案等方面磨合、积累、沉淀了宝贵的经验,也在项目协作、架构匹配上,初步验证了浙江移动与互联网公司先进技术、理念相结合的可行性,为后续二、三阶段在浙江移动的核心系统上开展更加深入的试点工作奠定了坚实基础。

关于三墩IT人:

“三墩IT人”微信公众号于2014年12月底建立,是浙江移动IT团队建立的面向全行业的IT技术和经验交流平台。

相关实践学习
快速体验PolarDB开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
相关文章
|
传感器 人工智能 自动驾驶
蜀道集团发布国内首个车路协同高精度导航,阿里云提供技术支持
2月24日,蜀道集团联合阿里云、高德、四川数字交通科技股份有限公司发布蜀道·高德行业版APP,这是国内首个将智慧高速车路协同技术与车机导航融合的应用,目前用户可在157公里的成宜高速体验,未来将向全国公路推广。
蜀道集团发布国内首个车路协同高精度导航,阿里云提供技术支持
|
人工智能 运维 物联网
阿里云发布首个钢铁工业互联网平台
5月28日,阿里云联合钢企管家召开了钢铁行业首家工业互联网平台发布会。发布会上,阿里云宣布将整合物联网技术资源,支持钢企管家在钢铁行业的工业互联网平台建设以及在钢铁全产业链上的延伸与发展,助力钢企管家在数字化、移动化、大数据、人工智能、物联网等方面转型升级。
350 12
阿里云发布首个钢铁工业互联网平台
|
云栖大会
云上创新,共启未来!阿里云创新中心启动“云创未来”行动,同步发布“云创俱乐部”
希望与各方一起“云上创新 共启未来”,携手翻开数字经济发展的新篇章,共建创新生态、共享创新价值。
云上创新,共启未来!阿里云创新中心启动“云创未来”行动,同步发布“云创俱乐部”
|
达摩院 数据可视化 安全
全国28个省区市与阿里合作,上线“数字防疫系统”
为了让更多政府、企业快速生产类似应用服务,阿里云表示向全社会免费开放宜搭应用搭建平台,直至疫情解除。宜搭通过可视化拖拽的方式,让不会代码的人员也能迅速搭建应用,对抗疫情。
891 0
全国28个省区市与阿里合作,上线“数字防疫系统”
|
达摩院 数据可视化 安全
全国28个省区市与阿里合作 上线“数字防疫系统”
2月6日,继浙江之后,湖北、湖南、贵州、河南、天津、江苏、河北等28个省、自治区、直辖市已陆续与阿里巴巴合作,搭建“数字防疫系统”。该系统分为居民、社区街道、医疗疾控、政务管理等四大模块,有20多种功能。各地居民及疫情防控机构可以应用疫情信息采集、主动申报与疫情线索提供、医学观察服务与管理、疫情实时动态、在线智能问诊、同行程人员查询等功能,开展数字化疫情防控。
全国28个省区市与阿里合作 上线“数字防疫系统”
|
人工智能 大数据 云计算
浙江启动“十万企业上云” 阿里云联合生态首个响应
浙江正式吹响向云计算要发展新动能的战略行动:“企业上云”计划。不少企业开始行动,中策橡胶与阿里云合作,利用ET工业大脑,在上云后提升了3%-5%的良品率,创下了大量的利润。
2784 0