以下内容根据演讲视频以及PPT整理而成。
直播回顾,请点击这里。
回顾阿里云迁云实战解析(一):全面上云拐点已到,云架构师get 何种技能?请点击这里。
回顾阿里云迁云实战解析(二):零售上云全解析(上),请点击这里。
接下来要分享某电视塔业务系统的迁云过程及解决方案。
迁云动因
该电视塔业务系统需要将包括重构的业务中台在内的多个系统部署到阿里云,并与其线下IDC多个子系统进行联动。具体来讲:
• 需要出具阿里云所有系统架构方案及其后续的构筑、运维工作,完善云上运维体系;
• 实现云上中台和微信应用到线下IDC的容灾;
• 实现线下IDC 4个生产子系统到云上的灾备,确保业务的连续性;
• 通过压力测试服务为业务中台和微信应用进行性能瓶颈分析,确保满足上线后的并发需求;
• 为原先缺失的的监控及运维体系的线下IDC网络设备、存储和服务器提供监控和运维体系构建。
云上系统架构
在该客户的整个迁云过程中,驻云科技在架构的整合方面投入了很大精力,下图展示了该电视塔业务系统的云上系统架构。整个架构中比较核心的是业务中台,它承载了购票系统,购票系统主要对接的是OTA、验票、微信应用营销场景支持、优惠核销等,同时还考虑了线下到云上、云上到线下的灾备,虽然涉及的业务系统不是特别多,但是整个体系的关系比较复杂。
数据库选型:该客户系统的业务中台中数据库分为两部分,SQL Server 和MySQL,第三方业务中台二次开发选型的是MySQL 5.6。由于部分业务系统需要对接OTA的订单,线下有多个售票口,每个售票口又有多个检票口,另外还需要对接支持微信优惠活动的二维码扫描,这种情况下要求响应快、并发高,尤其是在节假日客流高峰的时候,响应时间要达到300-500ms。但MySQL 5.6版本的使用无法满足系统响应快、高并发的需求,且在未来应用的扩展上会存在一系列问题,因此驻云科技建议用户将MySQL 5.6换成了PolarDB for MySQL。PolarDB for MySQL支持一写多读的模式,且使用的Shared Everything的存储设计,能够最大化支持客户高并发的需求。一般情况下,PolarDB for MySQL可以支持百万级的QPS,可以在五分钟以内快速扩容,响应时延能够降低到毫秒级。
应用线下容灾:线下容灾主要分为两部分:同城容灾和异地容灾。同城容灾可以通过云上的多可用区很方便地实现,通过快照、数据库备份机制进行备份。对于异地容灾而言,云上业务备份到线下过程中最重要的是数据库的同步,比如SQL Server或MySQL数据库从线上到线下的备份,由于大部分应用都是无状态的,这种情况下只需要在部署应用的时候在线上和线下同时部署一份数据库即可。目前SQL Server或MySQL的同步方式比较简单,而且现有的工具比较成熟。另外比较重要的一点是容灾演练时的DNS切换,即在域名服务商处修改某个DNS指向的IP,但是Local DNS的全球生效时间有一定限制,从分钟到小时甚至天不等,这种情况下要实现容灾秒级切换很困难。
线下应用云上容灾:随着越来越多客户的核心系统上云,云上容灾变得必不可少。线下应用到云上容灾方式如下图所示,总体来讲可以通过BCDR容灾一体机将线下IDC业务系统,如票务OTA、零售、餐饮系统的镜像实时复制到云上,一旦线下系统发生故障,可以在线下将备份的镜像拉起,或者在云上进行容灾ECS的恢复。此外,针对数据的备份,可以利用阿里云的HBR(混合云备份)将非结构化的数据备份到云上,需要恢复的时候可以很方便地恢复到线上的ECS和线下的任何一台机器。
四、Oracle迁云
目前针对全面迁云的用户,尤其是金融领域,其很多核心应用都用到了Oracle。这其中Oracle RAC迁云是一件比较棘手的事情,目前的解决方案主要有两种:
1. Oracle RAC迁移至POLARDB for Oracle
• 数据库环境调研:首先需要调研数据库的环境,了解要迁云的数据库的具体情况,要调研的内容包括数据库版本、软硬件环境,数据库架构,数据库之间的数据交互以及数据同步情况等;
• ADAM迁云评估:虽然POLARDB for Oracle对Oracle一定程度上是兼容的,但并不是百分之百兼容,因此需要通过ADAM进行迁云评估。ADAM通过脚本对线下的数据库进行必要的信息采集,采集后会对兼容性、关联关系、性能、风险点、转换的不兼容点进行智能分析并根据分析结果生成包含优化建议在内的迁移计划、目标方案及成本计算评估。
• 迁云方案验证:基于生成的迁云方案,用户可以进行程序改造,可用的工具有P2J (PLSQL package for JAVA),然后可以通过ADAM Studio测试迁云计划,AMS Tool验证SQL语句执行结果等。
• 割接:最终通过ADAM Studio执行迁云计划,完成数据一致性校验后,系统上线。
2.阿里云VMware服务上部署Oracle RAC
除了迁移至POLARDB for Oracle,用户可以通过在阿里云VMware服务上部署Oracle RAC完成其迁移。大家都知道,目前VMware目前和阿里云合作,用户未来可以在阿里云使用VMware服务部署VMware SDDC(Software Defined Data Center),包括vSphere、vSAN和NSX,而Oracle RAC在vSAN上可以直接部署,主要是因为Oracle RAC需要一个共享存储,vSAN可以提供共享块存储。目前,在SDDC上部署Oracle RAC已经得到Oracle的官方认可和支持。
下图是MVP交流群,大家如果有问题可以加群交流。