zzzczh
#1
下面是oceanbase主备库概述一节的原文:
OceanBase 数据库的主备库高可用架构是 OceanBase 数据库高可用能力的重要补充。当主集群出现计划内或计划外(多数派副本故障)的不可用情况时,备集群可以接管服务,并且提供无损切换(RPO = 0)和有损切换(RPO > 0)两种容灾能力,最大限度降低服务的停机时间。
我的疑问是既然oceanbase主备库不支持自动切换,那服务的停机时间不应该大于可以自动切换的方案吗,比如如下这种三地五中心五副本部署的方案:
这种方案在某个集群多数派副本宕机时,可以通过一致性协议进行选主,等选主完成后就能完成自动的服务接管,这样不会相比主备库这种需要人工执行命令的方案,服务的停机时间更短吗?所以为什么说oceanbase的主备库架构能降低服务的停机时间呢?oceanbase的主备库相比之下的适用场景或者说优势具体是什么呢?
2 个赞
旭辉
#3
其实这段描述里面已经说明了原因:当主集群出现计划内或计划外(多数派副本故障)的不可用情况时,备集群可以接管服务
这里主要就是做集群级别的容灾,OB集群出现故障或者计划内停机,出现故障也就是集群内多数派副本故障,这时就需要备库顶上了。虽然集群可以做两地三中心,三地五中心等3副本或者5副本部署,尽管OB的分布式多副本高可用及容灾能力已经非常强大,但是还是会有多种因素导致多数派不可用的。
而且需要考虑到业务诉求及成本等因素。
高可用 FAQ
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001573568
2 个赞
文档并没有说“主备库的切换方案”的停机时间比集群内多副本自动切换方案的时间更短。
所以你的疑问如何得来?
旭辉
#5
在高可用架构家族 主备方案可以理解为多副本的一种补充方案或者备选方案,无论是无损切换还是有损切换正常情况下其RTO不会高于多副本。
zzzczh
#7
感谢您的回复,您说的第一点我已经完全明白了,总的来说主备库的方案能保证更高的级别的容灾(集群的级别)。请问关于您最后说的业务诉求和成本方面可以举个更详细一些的例子吗?
zzzczh
#8
关于这个结论的有可解释的原因吗?我个人理解是多副本的RTO很大程度上取决于选主的耗时,主备库的RTO不管是无损切换还是有损切换都避免了选主的耗时。这个理解是否正确呢?
旭辉
#9
你前半句理解是正确的,主备库的切换过程是角色的切换,有switchover和failover方式,都和分布式的选主方式不一样
旭辉
#10
辞霜
#11
zzzczh
#12
请问后半句”主备库的RTO不管是无损切换还是有损切换都避免了选主的耗时“有什么问题吗?而且楼下也有人指出根据文档描述,副本切主耗时是毫秒级,看起来主备库和多副本的RTO区别的原因并不在选主耗时,而且在您给出的“深圳农商银行基于OceanBase的两地三中心落地及生产容灾切换实践”这篇文章中也指出主备库的异地RTO是分钟级的,看起来比多副本大很大多。
zzzczh
#13
根据这两个文档看起来好像多副本的RTO反而会更小一些?您说的无论是无损切换还是有损切换正常情况下主备库RTO不会高于多副本的根本原因到底是什么呢?还是说目前只是实验得出的数据
辞霜
#14
主备集群凸显的是容灾功能。
多副本模式其中有个有优点是集群发生部分节点宕机,完整的副本集处于多数派情况下集群仍能正常提供服务
1 个赞