《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的部署与运维(7) https://developer.aliyun.com/article/1228804?groupCode=polardbforpg
通过上图中kubectl apply命令创建实例,对原数据进行恢复。
恢复完成后,统计账户总金额,结果显示依然为10万,满足数据的一致性要求。
PolarDB-X的DN是通过Paxos实现的3副本,包括的角色有leader、follower、logger以及只读的learner节点。任意节点的宕机都不会影响PolarDB-X整体的可用性。如果leader故障,follower会自动成为leader对外提供服务。如果follower故障,leader依然可以对外提供服务。但如果follower所在主机故障,且无法恢复,DN只剩leader和logger工作,如果此时再有主机或者节点出现故障,服务便会受到影响。因此需要将原先的follower从故障主机迁移到新的主机上,重新恢复3副本的状态。
另一种场景,假如一台宿主机需要下线或迁移,CN和CDC此类无状态节点可以直接从负载均衡摘除,在新的主机上创建新节点即可。而有状态的DN节点怎么办?
PolarDB-X 2.2版本提供的备库重搭能力可以帮助将follower、logger以及learner节点迁移到其它主机。而leader节点直接重建会影响服务,因此备库重搭不支持leader节点。
如果想要重建leader节点,需要通过主备切换的方式将leader降为follower再进行重搭。
同时,如果机器能够恢复,又不想增加额外资源,PolarDB-X也支持在本地进行重搭来帮助恢复损坏的副本。
PolarDB-X 2.2版本支持了参数模板和参数设置功能。同时结合PolarDB-X近几年在公共云上的生产级实践,预置了高性能的参数模板。创建PolarDB-X集群时,直接指定parameterTemplate:product即可应用该参数模板。
同时,PolarDB-X2.2也支持参数的设置。在之前的版本中,CN和DN的参数设置方式不一样。而2.2版本提供了PolarDB-X parameter CRD,能够通过统一的方式对CN和DN的参数进行修改。对于某些需要重启的参数,也会自动完成重启操作。除此之外,通过查询PolarDB-X parameter对象可以查看所有参数的修改记录。