全球多活是基于云原生内存数据库Tair自研的多活数据库系统,可轻松支持异地多个站点同时对外提供服务的业务场景,助力企业快速复制阿里巴巴异地多活架构。

背景信息

随着业务的快速发展,在业务分布较广时,如果还采用跨地域远距离访问的架构,将导致访问的延迟大,影响用户体验。借助阿里云的Tair全球多活功能,可帮助您解决业务因跨地域访问导致延迟大的问题,全球多活功能具有如下优势:

  • 可直接创建或指定需要同步的子实例,无需通过业务自身的冗余设计来实现,极大降低业务设计的复杂度,让您专注于上层业务的开发。
  • 可提供跨域复制(Geo-replication)能力,快速实现数据异地灾备和多活。

该功能可应用于跨地域数据同步场景及多媒体、游戏、电商等行业的全球化业务部署等场景。

应用场景

应用场景 说明
异地多活 异地多活是指分布在异地的多个站点同时对外提供服务的业务场景,是高可用架构设计的一种,所有站点可同时对外提供服务,可实现应用就近访问等场景。
数据灾备 借助子实例间数据双向同步的特性,可实现同城灾备、两地三中心灾备及三地灾备等多种数据灾备场景。
负载分摊 在某些场景下(例如大型促销),预测可能会有超大QPS请求和访问流量,可其分摊至多个子实例,突破单个实例的负载限制。
数据同步 实现同一个分布式实例下的子实例双向数据同步,可应用于数据分析或测试等场景。

费用说明

创建分布式实例不产生费用,仅会对分布式实例中的子实例收费(与普通Tair实例收费标准一致),详情请参见计费项

支持的产品系列

内存型(本地盘版)。

Tair全球多活架构

全球多活架构

Tair全球多活是所有分布式子实例(简称子实例)及链路的逻辑集合,所有子实例通过同步通道保持实时数据同步,各组件介绍如下:

子实例
构成分布式实例的子实例,即独立的Tair实例,是构成多活实例的基本服务单元。所有子实例均可读写,并且相互之间保持实时双向数据同步。分布式实例可提供跨域复制(Geo-replication)能力,您可以在不同的地域创建子实例,实现跨地域容灾和多活的需求。
说明 子实例需为Tair内存型
同步通道
负责分布式子实例之间实时数据同步的链路,为单向链路,子实例的双向复制由两个对向的同步通道构成。
说明 Tair全球多活在原生Redis AOF日志的基础上增加了server-id、opid等信息,同步通道通过获取Binlog实现数据同步。
通道管理器
管理同步通道生命周期,负责子实例上的主备切换、备份重搭等异常事件的处理。

产品优势

优势 说明
同步可靠性高
  • 支持断点续传,可容忍天级别的同步中断,避免了原生Redis架构在跨机房或地域进行增量同步的局限性。
  • 自动完成分布式子实例的主备切换、备份重搭等异常事件的处理。
同步性能高
  • 高吞吐
    • 标准架构下,同步通道单向可达5万TPS。
    • 集群或读写分离架构下,可随Redis数据分片或节点的数量线性扩展。
  • 低延迟
    • 同一洲内的地域间同步,约百毫秒至秒级,平均时延约1.2秒。
    • 跨洲地域间同步,约1~5秒,由链路吞吐和链路的往返时延RTT(Round-trip time)决定。
同步正确性高
  • Binlog按产生的顺序同步到对端。
  • 支持回环控制,避免Binlog循环同步。
  • 支持抗重放(exactly once),确保被同步的Binlog仅会被执行1次。