PolarDB-X 1.0-技术白皮书-解决方案与客户案例

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: 异地多活场景下的数据库方案方案背景随着云计算的蓬勃发展,越来越多信息系统选择部署在云计算环境下,因此基于云产品为信息系统的服务能力和数据质量提供保障尤为重要。为了防止灾难性的故障如火灾、洪水、地震、区域电力中断或者人为破坏等对信息系统造成不可挽回的破坏,需要构建容灾系统来保障信息系统的可用性和安全性。2007年,国务院信息化办公室联合银行、电力、民航、铁路、证券等八大重点行业,制定发布了国家标准GB/T20988-2007《信息系统灾难恢复规范》,明确规定了容灾能力的6个等级要求。企业在构建容灾系统时往往会参考国标等级,或者以此作为合规要求。然而,大部分传统容灾方案如同城容灾、同城双活

异地多活场景下的数据库方案

方案背景

随着云计算的蓬勃发展,越来越多信息系统选择部署在云计算环境下,因此基于云产品为信息系统的服务能力和数据质量提供保障尤为重要。为了防止灾难性的故障如火灾、洪水、地震、区域电力中断或者人为破坏等对信息系统造成不可挽回的破坏,需要构建容灾系统来保障信息系统的可用性和安全性。

2007年,国务院信息化办公室联合银行、电力、民航、铁路、证券等八大重点行业,制定发布了国家标准GB/T20988-2007《信息系统灾难恢复规范》,明确规定了容灾能力的6个等级要求。企业在构建容灾系统时往往会参考国标等级,或者以此作为合规要求。然而,大部分传统容灾方案如同城容灾、同城双活、异地容灾、两地三中心等很难达到国标5-6级要求,同时还存在成本浪费,灾备单元健壮性不足等问题。

异地多活从业务视角来看是通过对业务做自顶向下的流量隔离来实现的,按照某一个分流维度对业务流量进行划分,并路由到不同的地域。整个部署架构分多个地域,每个地域称之为一个单元,其中某个单元又承担着整个多活架构的逻辑中心角色,提供一些中心化的服务能力(如sequence_分发,强一致读服务等)。每个单元内的业务架构分为接入层、服务层、数据层:

p282502.png

  • 接入层业务流量通过租户侧DNS解析后按照权重分配到不同单元的接入层,进入接入层后,通过解析请求header/cookie中的分流标,对比自定义的分流规则,判断请求是否归属本单元,若归属本单元则走到本单元的服务层。否则流量需要转发到对端单元,根据不同的内网连通性可以走upstream或304跳转。
  • 服务层服务层部署的是业务应用系统,包括中间件等。如果使用了阿里云的中间件如CSB、RPC框架、MQ等,可以通过相应产品的多活接入能力实现在服务层的流量路由和纠错。针对RPC服务,在多活场景中分为:单元化服务、中心化服务、普通服务三类:
  • 单元化服务:每个单元内完全自治的服务,是多活场景下的主要服务类型,会对流量进行单元归属判断,并进行流量纠错。
  • 中心化服务:强依赖中心单元的服务,流量都会被转发到中心单元,通过中心单元的服务访问中心单元的数据层。
  • 普通服务:不做任何改造的服务,在本单元内进行服务调用,并访问本单元的数据层。
  • 支持多活能力的主要服务类型是单元化服务,但是当业务系统比较复杂时,可能难以实现所有业务模块均按某一个维度划分,或者某些业务服务必须要单点部署以避免分布式部署的一致性问题,此时可由中心化服务和普通服务提供相应能力支持。
  • 数据层数据层解决数据库跨地域的部署与同步问题,并在灾难发生时对流量切换动作提供相应的数据质量保护策略。针对上层业务不同的服务类型提供UNIT和COPY两种数据同步策略:
    UNIT类型:每个单元部署独立的数据库系统,单元之间通过DTS进行数据【双向】实时同步,保持每个单元都有全量数据,每个单元均可进行读写操作,读写流量会根据业务定制的分流策略进行单元写保护,这种同步策略用于支持服务层的单元化服务类型,是多活场景的核心同步策略。
    COPY类型:每个单元部署独立的数据库系统,单元之间通过DTS进行数据【单向】实时同步,保持每个单元都有全量数据,中心单元可进行读写,非中心单元只提供读服务。这种同步策略用于支持中心化服务和普通服务,中心化服务路由回中心执行,普通服务可在单元内进行读。

方案应用场景

本解决方案适用于以下业务场景:

  • 容灾能力要求高异地多活可以达到国标6级的容灾能力,适合对容灾方面有较高要求的业务、业务流量比较敏感的业务或业务的某些核心系统。
  • 流量要求精细化管理异地多活支持多种流量管理策略,适合对流量管理有复杂需求的业务如按地域就近接入,按用户信息分配指定数据中心等。
  • 业务快速发展异地多活实现业务按照单元级别(数据中心级别)实施水平扩展,业务定义好一个单元的服务部署配比后,可以以此为镜像快速部署多个分布全国的单元,实现容量快速扩充。
  • 业务读多写少读多写少业务可以从业务行为上天然的规避数据异步复制的各类问题,并且业务接入多活的改造成本也较低,是比较适合实施异地多活的业务场景。

方案价值

异地多活的价值具体表现在如下方面:

  • 业务即容灾传统异地灾备或两地三中心的异地灾备中心常态不提供服务,当发生地域级灾难时难以保证异地灾备中心的可用性,存在切换成功率低的问题,异地多活架构下各个地域数据中心不区分角色,全部常态承载业务流量,时刻保证业务系统健壮,各个数据中心既是业务体系也是容灾系统。
  • 业务连续性保障异地多活架构下各个数据中心常态承接业务流量,故障发生时只需调拨入口流量即可实现容灾切换,实现分钟级的容灾切换。同时随着参与多活建设的数据中心数量增加,参与调拨流量的比例会相应减少,未参与调拨的业务流量可以实现对容灾切换的“0”感知。
  • 业务高速发展支撑业务高速发展,受限于单个地域的有限资源,尤其是数据层存在单点性能瓶颈,除异地多活以外的全部容灾架构都只能在主生产中心执行写操作。地域多活实现业务级的流量闭环,各个数据中心均可读写,具备水平扩展能力以及跨地域的快速扩建能力。
  • 流量有效隔离异地多活本质上是提供了一种自顶向下的流量隔离能力,业务具备在数据中心级别完全隔离的能力,各个数据中心承载的流量大小可灵活调配,在最小隔离数据中心内(例如承载1%流量),业务可灵活进行风险可控的技术演进,例如基础设施升级、新技术验证等。
  • 成本有效控制在考虑单个地域发生地域级灾难的场景下,不论两地三中心还是异地灾备都需要在灾备中心部署可承载100%流量的系统资源,加上生产中心即达到200%的成本冗余。异地多活通过跨城多数据中心部署,有效分摊各个数据中心成本,实现成本小于200%冗余。

成功案例之联通新客户

案例背景

联通新客服系统承担着联通全国的客服业务,对持续高可用能力有极高要求,同时也是联通向全站高可用演进的起点,其业务特点以TP业务为主。

案例架构

客户基于此方案,整合RDS、PolarDB-X、DTS、MSHA产品能力,实现了整个新客服系统7个业务中心的多活能力。

  • RDS、PolarDB-X承载业务数据并对接多活管控系统。
  • DTS实现数据的跨城实时同步和状态上报。
  • MSHA实现多活流量管控和容灾切换动作。

p282502.png案例效果

  • 联通新客服系统的接入中心、外呼中心、业务支撑等7个业务实现按地域多活分流。
  • 实现多次容灾演练,对多个省份进行切流,秒级完成切换,数据0丢失。
  • 客户部署了两单元,常态两个单元均承载业务流量,充分利用两单元的资源。
相关实践学习
Polardb-x 弹性伸缩实验
本实验主要介绍如何对PolarDB-X进行手动收缩扩容,了解PolarDB-X 中各个节点的含义,以及如何对不同配置的PolarDB-x 进行压测。
相关文章
|
3月前
|
存储 DataWorks 监控
DataWorks,一个 polar db 有上万个数据库,解决方案
DataWorks,一个 polar db 有上万个数据库,解决方案
|
4月前
|
关系型数据库 BI 分布式数据库
PolarDB NL2BI解决方案,让你不懂SQL也能进行数据查询分析并生成BI报表
无需创建和开通资源,在预置环境中免费体验PolarDB MySQL及其NL2BI解决方案
PolarDB NL2BI解决方案,让你不懂SQL也能进行数据查询分析并生成BI报表
|
3月前
|
关系型数据库 MySQL 分布式数据库
PolarDB MySQL标准版:低成本高性能的数据库解决方案
PolarDB MySQL标准版:低成本高性能的数据库解决方案 随着数字化时代的到来,企业对于数据处理的需求越来越高,而数据库作为数据处理的核心,其性能和成本成为了企业关注的焦点。阿里云全新推出的PolarDB MySQL标准版,以全新的架构和优化,为企业提供了高性能、低成本的数据库解决方案。
129 2
|
3月前
|
关系型数据库 MySQL 分布式数据库
PolarDB MySQL企业版产品系列:满足不同场景需求的解决方案
PolarDB MySQL企业版产品系列:满足不同场景需求的解决方案 在数字化时代,企业对于数据处理的需求越来越多样化,对于数据库的选择也更为谨慎。PolarDB MySQL版为了满足不同场景的需求,提供了单节点、集群版、高压缩引擎(X-Engine)和多主集群(库表)4种不同的产品系列。下面我们将对这4种产品系列进行简要介绍,以帮助您更好地了解它们的特点和适用场景。
120 1
|
6月前
|
关系型数据库 MySQL 分布式数据库
|
6月前
|
SQL 监控 关系型数据库
Navicat 面向 PostgreSQL 查询超时的工具解决方案
Navicat 面向 PostgreSQL 查询超时的工具解决方案
88 0
|
6月前
|
存储 关系型数据库 MySQL
如何选择最适合你的数据库解决方案:PostgreSQL VS MySQL 技术选型对比
如何选择最适合你的数据库解决方案:PostgreSQL VS MySQL 技术选型对比
209 1
|
存储 关系型数据库 数据挖掘
直播预告 | 柏睿数据 × PolarDB 湖仓一体联合解决方案
作为阿里云PolarDB开源社区的生态伙伴,柏睿数据和PolarDB联手,根据产品的特殊点整合统一的解决方案,新方案融合数据湖和数据仓库成为一种新型的开放式数据平台架构,PolarDB做湖,RapidsDB做仓,将数据湖和数据仓库的优势充分结合,通过RapidsDB的federation能力构建在数据湖低成本的数据存储架构之上,又继承了数据仓库的数据处理、分析和管理功能。本次分享将详细介绍湖和仓的边界区分,业内的通用数据同步实现方案以及RapidsDB的技术特性。
直播预告 | 柏睿数据 × PolarDB 湖仓一体联合解决方案
|
存储 监控 负载均衡
乘数科技 × PolarDB开源云管控解决方案:如何用CLup管理PolarDB
本文介绍了乘数科技自主研发的PostgresSQL数据库管理平台CLup,以及如何使用CLup创建和管理PolarDB。
|
存储 SQL 关系型数据库
柏睿数据+PolarDB湖仓一体联合解决方案
柏睿数据和PolarDB联手,根据产品的特殊点整合统一的解决方案,新方案融合数据湖和数据仓库成为一种新型的开放式数据平台架构,PolarDB做湖,RapidsDB做仓,将数据湖和数据仓库的优势充分结合,通过RapidsDB的federation能力构建在数据湖低成本的数据存储架构之上,又继承了数据仓库的数据处理、分析和管理功能。
柏睿数据+PolarDB湖仓一体联合解决方案

热门文章

最新文章

相关产品

  • 云原生分布式数据库 PolarDB-X