对于OceanBase 2F1A的架构,如果其中一个F出现故障了,1F1A架构还能正常提供服务吗?如果能提供服务,那么如何满足多数派?
1 个赞
在业务层面上,仲裁方案保证数据在多数派副本(4 个全功能型副本+ 1 个仲裁服务)或全部副本(2 个全功能型副本+ 1 个仲裁服务)上强同步,并在半数全功能型副本故障的情况下,自动进行故障降级,保证数据不丢失的同时业务持续可用。
参考资料:https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002012821
@论坛小助手 可以做更详细补充
1 个赞
在2F1A架构下,如果其中一个全功能型副本(F)发生故障,剩下的1个全功能型副本和1个仲裁服务仍然能够形成多数派,继续提供服务。在这种情况下,系统会自动进行故障降级,确保数据不丢失并且业务持续可用。然而,一旦剩余的那个全功能型副本也发生故障,就会导致数据丢失,因为仲裁成员本身不存储Redo日志。因此,2F1A架构在其中一个F故障后虽然还能继续提供服务,但其可用性会显著下降。
更多信息请查看:
所谓的仲裁副本是可以进行投票的,只是没有SSTABLE的数据,不能提供读服务,但是会同步CLOG日志,参与多数派的投票,这样2F中的一个F出现故障,剩余的1F和1A依然可以进行投票,依然满足多数派,集群依然可用,只是集群的性能会下降,出现服务降级
1 个赞
应该不同步 clog 吧
描述错误,仲裁副本不存储任何日志,也没有 MemTable 和 SSTable,只参与投票,资源开销少
挂了1F,业务可以正常使用的,1A,只是投票的,没有数据存储的