摘要: 数据传输服务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还能帮助您实现业务零停机迁移、实时数据仓库、查询/报表分流、系统异步消息通知、轻量级缓存更新等业务需求。更多关于DTS的信息请点击查看>>

如何快速创建双向同步,从这里开始>>

相关产品推荐

  • 数据传输服务DTS
    数据传输服务(Data Transmission Service) DTS支持关系型数据库、NoSQL、大数据(OLAP)等数据源间的数据传输。 它是一种集数据迁移、数据订阅及数据实时同步于一体的数据传输服务。数据传输致力于在公共云、混合云场景下,解决远距离、毫秒级异步数据传输难题。 它底层的数据流基础设施为阿里双11异地多活基础架构, 为数千下游应用提供实时数据流,已在线上稳定运行3年之久。 您可以使用数据传输轻松构建安全、可扩展、高可用的数据架构。了解更多>
  • 数据管理DMS
    数据管理(Data Management)支持MySQL、SQL Server、PostgreSQL、MongoDB、Redis等关系型数据库和NoSQL的数据库管理,同时还支持Linux服务器管理。它是一种集数据管理、结构管理、资源大盘、实例授权、安全审计、数据趋势、数据追踪、数据图表、性能与优化和服务器管理于一体的数据管理服务。了解更多>