当前位置: fuhua-pet->PolarDB > PolarDB-X高可用与容灾(WIP)

PolarDB-X高可用与容灾(WIP)

2023-11-20作者:fuhua-pet来源:www.fuhua-pet.com

在生产环境部署数据库时,往往会搭建多个副本(Replica),保证数据库集群的高可用性以及数据的持久性。传统的部署方式是一主一备,即主备间通过日志同步数据变更。但是主备复制存在先天性缺陷,以常见的MySQL半同步复制为例,一旦网络延迟超出阈值,同步就会退化到异步复制。此时如果主节点宕机,副本可能丢失已提交的数据,也就是常说的副本不一致。

为了保证副本间的强一致性,现代数据库往往采用以Paxos为代表的多数派复制协议。Paxos通常要求集群中至少存3个节点,每次写入都要获得超过半数节点的确认,即便其中1个节点宕机,集群也仍然能正常提供服务。Paxos算法能够保证副本间的强一致性,彻底解决副本不一致问题。

PolarDB-X在副本复制方面采用了X-Paxos。X-Paxos是阿里巴巴自研的Paxos协议实现,起源于AliSQL(阿里内部的 MySQL 分支)。基于朴素的Paxos实现,它在功能、性能上都做了大量优化,且经历了数十载的双十一考验,稳定可靠。

X-Paxos实现了Multi-Paxos算法,通常存在一个相对稳定的Leader节点用于处理读写请求。如果Leader节点因为某些意外情况发生宕机或超时,Follower节点就会重新发起选主投票,如果得到超过半数的选票则成为新的Leader。Logger节点只负责保存日志以及参与Paxos投票。Learner节点通常用在只读实例中,它仅仅接受主机群的变更日志,不参与Paxos投票。

此外,X-Paxos还支持动态添加删除节点、权重化选主、Leader主动回切等企业级特性,允许用户根据业务需求灵活定义部署方式。

多机房部署

基于Paxos复制协议,PolarDB-X可以部署到多个机房中,以实现机房级容灾。常见的部署方式有同城三机房、两地三中心等,其中后者主要应用在混合云部署中。由于Paxos协议的特性,通常三个机房中有一个主机房负责对外提供服务。

跨地域多活

如果业务有多活需求,出于性能考虑,通常建议在不同地域分别部署PolarDB-X实例,彼此之间通过数据同步工具相连接。数据要根据实际业务需求做合理的分区,以保证各个地域的数据不会相互冲突。

  • Oracle OCP认证没落了吗
  • PostgreSQL技术大讲堂 - 第87讲:重讲系统安全和数据库安全
  • PostgreSQL认证培训推荐机构
  • 奥星贝斯OceanBase数据库
  • 达梦数据库管理系统DM8
  • 电科金仓KingbaseES数据库管理系统
  • 华为GaussDB云数据库
  • 金篆信科GoldenDB数据库
  • 浪潮KaiwuDB数据库
  • 考OCP认证要交哪些费用
  • 南大通用GBASE数据库
  • 腾讯云分布式数据库TDSQL
  • 羲和 (Halo) 数据库
  • 崖山 (YashanDB) 数据库
  • 亚信安慧AntDB数据库
  • 4月26日,工信部人才交流中心 & CUUG - PGCP+PGCM认证考试完成!
  • Apache IoTDB
  • DolphinDB数据库
  • Easysearch分布式搜索型数据库
  • IvorySQL数据库
  • NebulaGraph数据库
  • OCP认证考试指南:费用、大纲、备考、题库、证书及有效期全面解析
  • SelectDB数据库
  • SourceDB数据库
  • SQLite数据库
  • StarRocks数据库
  • SUNDB数据库
  • TuGraph图数据库
  • 海量数据Vastbase数据库
  • 华为云数据库 GeminiDB
  • 华为云数据库TaurusDB
  • 磐维数据库PanWeiDB
  • 神舟通用数据库
  • 实时数仓 Hologres
  • 天翼云数据库TeleDB
  • 图数据库gStore
  • 阿里云云原生数据库PolarDB
  • 星瑞格SinoDB数据库管理系统
  • 虚谷xugudb数据库
  • 云和恩墨MogDB数据库
  • 云原生数据库GaiaDB(盖亚)
  • PostgreSQL技术大讲堂 - 第85讲:重讲pg流复制管理利器repmgr应用实践
  • Oracle OCM证书有效期3年?这是个假消息
  • Oracle OCP证书有效期3年?与官方人员确认这是个假消息
  • 2025年4月中国数据库流行度排行榜:OceanBase超过PolarDB登顶
  • Apache Doris数据库
  • openGauss数据库
  • PingCAP TiDB数据库
  • TDengine时序数据库
  • 阿里云AnalyticDB云原生数据仓库