了解更多PolarDB-X 内容:
https://developer.aliyun.com/topic/polardbx_release
一、DN 高可用方案
在 PolarDB-X 的系统结构中,DN 组件负责数据存储。 一个 DN 节点是 一个 MySQL 实例。
为了数据安全,我们需要多副本,一个逻辑实例是由多个 DN 节点组成的集群。
为了业务连续,我们需要高可用,当部分机器或网络故障后集群依然能够持续提供服务。
这些能力都需要 DN 节点自闭环完成,如果再引入第三方组件来管理,那么第三方组件的高可用又将是新的问题。
单机 MySQL,或者其他数据库,常用的高可用方案有以下几种:
第一种是经典的一主一从结构,基于 KeepAlive 进行 HA 管理;
第二种具有更高的可靠性,可以一主多从,用更复杂的节点管理器协调系统的运行;
另外还有 MySQL 社区的多主复制,有基于共享存储的部署模式等。
以上解决方案都有其各自适合的应用场景,但在设计上,需要考虑的问题是类似地,那就是:
理论上 CAP 中的分区可用性和数据一致性如何取舍?