阿里云的数据传输服务DTS(Data Transmission Service)支持RDBMS、NoSQL、OLAP等数据源间的数据交互,集数据迁移/订阅/同步于一体,助您构建安全、可扩展、高可用的数据架构。

不停机迁移数据库

为保障数据的一致性,传统迁移方式要求在数据迁移期间,停止向源数据库写入数据,即需要停机迁移。根据数据量和网络的情况,迁移所耗费的时间可能会持续数小时甚至数天,对业务影响较大。

DTS为您提供不停机迁移的解决方案,只有当业务从源实例切换到目标实例期间会影响业务,其他时间业务均能正常提供服务,将停机时间降低到分钟级别,架构如下图所示。

怎样用阿里云的DTS实现数据库的异地多活等场景


整个迁移过程包含结构迁移、全量数据迁移及增量数据迁移三个阶段。当进入增量数据迁移阶段时,源实例的数据将实时同步至目标实例。您可以在目标数据库进行业务验证,当验证通过后,即可将业务切换到目标数据库,从而实现平滑迁移。

数据异地灾备

如果您的业务部署在单可用区中,当该可用区因电力、网络等不可抗因素失去通信时,将导致您的业务中断。

为避免可用区级别的故障导致服务不可用,您可以构建异地灾备中心以提高服务可用性。灾备中心和业务中心的数据通过DTS实现实时同步,用以保障数据一致性。当业务中心故障时,您可以直接将业务流量切换至灾备中心,快速恢复服务。

怎样用阿里云的DTS实现数据库的异地多活等场景


异地多活

随着业务的快速发展和用户数量的增长,如果业务部署在单个地域中,可能会面临如下问题:

  • 用户在地理位置上分布较广,地理位置较远的用户访问延迟较高,影响用户体验。
  • 单个地域底层基础设施的能力限制了业务扩展,例如供电能力,网络带宽建设能力等。

为解决上述问题,您可以在同城/异地构建多个业务单元。各个业务单元之间通过DTS实现数据的双向实时同步,保障全局数据的一致性。当任何一个单元出现故障时,您只需将该单元的流量切换至其他单元即可,可实现业务的秒级恢复,有效地保障了服务的高可用性。

您还可以根据业务的某个维度将业务流量分流至各个业务单元。例如,按照用户所属区域划分各单元的流量,实现用户就近访问,降低网络延迟,提升用户体验。同时,各个业务单元分布在不同的地域,可以有效解决单地域的基础设施限制业务扩展的问题。

怎样用阿里云的DTS实现数据库的异地多活等场景


加速全球化业务访问速度

对于全球化业务,如果按照传统架构只在单个地区部署业务,那么跨境访问的用户访问服务时,访问延迟非常大,用户体验较差。为加速全球化业务访问速度,优化访问体验,您可以将架构调整如下。

怎样用阿里云的DTS实现数据库的异地多活等场景


本方案中,所有地区用户的写请求全部路由回主业务中心。通过DTS将主业务中心的数据实时同步至次业务中心,各个地区的用户的读请求,则路由至就近的次业务中心,从而避免远距离访问,加速了全球化业务的访问速度。

助力快速搭建定制化BI系统

由于自建BI系统的复杂性,自建BI不能满足越来越高的实时性要求。阿里云提供了非常完善的BI体系,DTS可以帮助您将自建数据库实时同步至阿里云的BI存储系统(例如MaxCompute、分析型数据库或流计算等),助力您在阿里云上快速搭建满足自身业务的定制化BI系统。

怎样用阿里云的DTS实现数据库的异地多活等场景


数据实时分析

数据分析在提高企业洞察力和用户体验方面发挥着举足轻重的作用,且实时数据分析能够让企业更快速、灵活地调整市场策略,适应快速变化的市场方向和消费者体验。

DTS提供的数据订阅功能,可以在不影响线上业务的情况下,帮助您获取实时增量数据。通过DTS提供的SDK,您可以将订阅到的增量数据同步至分析系统中进行实时分析。

怎样用阿里云的DTS实现数据库的异地多活等场景


轻量级缓存更新策略

为提高业务访问速度,提升业务读并发,通常的做法是在业务架构中引入缓存层,让业务所有读请求全部路由到缓存层,通过缓存的内存读取机制来提升业务读取性能。由于缓存中的数据不能持久化 ,一旦缓存异常退出,那么内存中的数据将会丢失。

DTS提供的数据订阅功能,可以帮助您异步订阅数据库的增量数据,并更新缓存的数据,实现轻量级的缓存更新策略。

怎样用阿里云的DTS实现数据库的异地多活等场景


优势

  • 更新路径短,延迟低业务完成更新数据库后直接返回,不需要关心缓存失效流程,整个更新路径短、延迟低。
  • 应用简单可靠应用无需实现复杂双写逻辑,只需启动异步线程监听增量数据,更新缓存数据即可。
  • 应用更新无额外性能消耗数据订阅通过解析数据库的增量日志来获取增量数据,不会对业务和数据库性能造成影响。

业务异步解耦

电商行业涉及下单系统、卖家库存、物流发货等多个业务逻辑。如果将这些逻辑全部在下单流程中,需要全部变更完成后,才能返回下单结果。这种业务逻辑存在如下问题:

  • 下单流程和耗费的时间较长,用户体验差。
  • 系统稳定性差,任何一个下游发生故障,将直接影响整个业务系统的可用性。

为提升核心应用用户体验和稳定性,您可以通过DTS提供的数据订阅,将深耦合业务优化为通过实时消息通知实现的异步耦合,让核心业务逻辑更简单可靠,具体调整为:

怎样用阿里云的DTS实现数据库的异地多活等场景


该场景中,买家下单系统只要完成下单操作,就直接返回,底层通过DTS的数据订阅实时获取订单系统的变更数据,业务通过SDK订阅这些变更数据,并触发库存、物流等下游业务逻辑,实现了整个业务系统的简单可靠。

该应用场景在阿里巴巴内部得到了广泛的应用,例如淘宝订单系统每天有上万个下游业务,通过数据订阅获取订单系统的实时数据更新,触发自身的变更逻辑。

横向扩展读能力

对于有大量读请求的应用场景,单个数据库实例可能无法承担全部的读取压力。您可以借助DTS的实时同步功能构建只读实例,将读请求分流至这些只读实例中,实现读能力的弹性扩展,分担主数据库实例的压力。

粤ICP备2022103803号