存储层高可用

云原生数据仓库 AnalyticDB MySQL 版的存储层是基于Raft协议构建了一套分布式强一致、高可用、高可靠的存储系统,相比较于传统RDBMS的主备协议、常见的分布式中间件分库分表的系统,本系统更好地实现了读写高可用和日志副本高可用。

读写高可用

AnalyticDB for MySQL使用Multi-Raft方式管理数据分片,每个数据分片由三副本组成,分片内基于Raft协议进行Leader选举、日志复制和状态机日志应用。三副本的多数派存活是保证数据读写高可用的关键,优势在于可允许1个副本所在节点发生宕机或重启,即少数派failover的情况下,数据库仍然能提供读写服务。

image

日志副本

AnalyticDB for MySQL从V3.1.5.0版本开始,引入了分片日志副本。每个分片由三副本组成,两个数据副本和一个日志副本。在保证数据高可用的同时,减少数据副本冗余,节约系统资源的占用,有效降低用户成本。

  • 数据副本:作为分片内Raft成员,参与Leader选举、日志复制,并提供数据读写服务。

  • 日志副本:作为分片内Raft成员,仅参与投票、日志复制,不会当选Leader,不提供数据读写服务。

在部署形态上,Multi-Raft的每个数据分片的数据副本、日志副本都会均匀分布在三副本节点中,保证集群的负载均衡。

image