数据传输服务DTS正式推出MySQL实例间的双向同步,助力企业快速复制阿里巴巴异地多活架构。DTS已经连续4年平稳支撑阿里巴巴双11异地多活场景,并已为阿里云上万用户提供安全、可靠的数据流服务。本专题将全面解析双向同步如何助力企业快速复制异地多活,满足业务就近接入和服务高可用的业务场景。
客户之声
随着企业的高速发展及国际化步伐的加速,很多基于单地域构建技术架构的企业用户面临着诸多问题,包括:
(1) 对于用户分布较广的业务,部分用户需要跨地域远距离访问服务,访问延迟大,直接影响用户体验。
(2) 当业务依赖的区域出现城市故障时,直接导致服务不可用,给公司带来不可估量的经济损失及公司品牌的负面影响。
为了有效解决这些问题,保证服务的持续可用,目前业界比较热门的技术架构当属“异地多活”。所谓异地多活,顾名思义,就是在不同地域提供业务中心,同时每个业务中心都会支撑服务流量。相较于“异地灾备”,异地多活架构具备如下优势:
(1) 成本较低,异地灾备需要进行业务的全量异地备份,主业务中心正常时,灾备中心并不提供服务,备份成本极高。
(2) 业务流量随时切换,异地多活的所有数据中心都支撑业务流量,所以当任意一个业务中心出现故障时,可以直接将流量切换到其他数据中心。相对而言,异地灾备由于不是一直承担流量,所以一旦业务中心出现问题时,未必敢将流量切到灾备中心,因为不知道切过去业务是否能正常运行。
(3) 可扩展性强,异地多活其实是在多个数据中心分摊业务流量,所以有效缓解了单一地区的业务压力。
异地多活架构中,为了支持业务流量在各个地域之间的灵活切换,必须解决各个业务中心之间的数据同步问题。阿里云数据传输服务DTS支持RDS实例之间的双向同步,帮助您实现业务中心之间的数据同步,保证数据全局一致,从而实现异地多活技术架构的快速复制。 数据传输服务DTS从2013年起,已连续4年平稳支撑了阿里巴巴异地多活(3个业务中心)底层的全局数据同步。自2014年在阿里云为用户提供服务以来,DTS已经为上万用户提供可靠、稳定的数据流服务。
数据传输服务DTS异地多活解决方案
DTS支持异地多活架构中数据层之间的数据同步,实现数据全局一致。下面是一个简单的异地多活业务架构图:
如上图所示,业务按照某个维度将流量切分到各个业务中心(亦称单元)。切分维度的选择要遵循如下原则:
(1) 拆分后,需要实现业务的单点写。例如按照会员切分,那么同一个会员的访问只能在某个业务中心单点写。
(2) 拆分维度要能够尽量保证业务在单元内封闭,即所有的业务请求都能够在单元内完成,以减少跨地域的访问调用。
对于用户分布比较广的业务,可以根据用户分布进行业务中心部署区域的选择。例如国际化业务,可以选择中国、欧洲、北美 等多点进行业务中心的部署,区域附近的用户的业务请求直接落在就近区域,以最大程度降低用户访问延迟,从而有效提升用户体验。
当流量切分到各个单元后,各个单元的数据层均会有数据写入,通过DTS进行数据层的数据双向同步,实现数据全局一致。当某个业务中心(单元)出现故障时,可以修改流量切分规则将流量秒级切换到其他单元,从而有效得保证了业务的持续可用,完美得避免了故障造成的经济损失及对公司品牌的影响。
写在最后
DTS所实现的全局数据同步是异地多活架构的基础,具体的业务流量切分还需要根据业务实际情况设计实现。
除了提供异地多活能力,DTS还能帮助您实现业务零停机迁移、实时数据仓库、查询/报表分流、系统异步消息通知、轻量级缓存更新等业务需求。