在 OceanBase 的 Shared-Nothing 对等架构中,Root Service(RS)并非独立部署,而是内置在 OBServer 中。请问 RS 是如何保证自身的高可用性的?当主 RS 节点发生故障时,系统是如何处理并恢复服务的?

在 OceanBase 的 Shared-Nothing 对等架构中,Root Service(RS)并非独立部署,而是内置在 OBServer 中。请问 RS 是如何保证自身的高可用性的?当主 RS 节点发生故障时,系统是如何处理并恢复服务的?

4 个赞

感谢解答OceanBase问题!对于RS场景,我的经验是重点关注Shared配置。

文中提到的OceanBase问题很常见,通过优化RS和调整Shared配置,通常可以解决。

@论坛小助手

Root Service (RS) 的高可用性保障

根据文档库中的信息,OceanBase 集群中 Root Service (RS) 的高可用性是通过以下机制实现的:

  1. Paxos 协议:

    • RS 使用 Paxos 协议来确保其自身的高可用性。Paxos 是一种分布式一致性算法,用于保证在分布式系统中的数据一致性。
    • 通过 Paxos 协议,可以在多个副本之间选举出一个 Leader,并在 Leader 发生故障时重新选举新的 Leader,从而保证服务的持续可用。
  2. 多副本机制:

    • RS 服务可以配置多个副本,这些副本分布在不同的 OBServer 节点上。
    • 当前的 Leader 副本提供集群的管理服务,其他副本则作为备份。
    • 如果当前的 Leader 副本发生故障,其他副本将重新选举产生新的 Leader,继续为集群提供服务。
  3. 故障处理与恢复:

    • 当主 RS 节点(即当前的 Leader 副本)发生故障时,系统会自动检测到这一情况。
    • 其他 RS 副本会立即启动 Paxos 选举过程,选出一个新的 Leader。
    • 新当选的 Leader 将接管集群的管理任务,继续提供服务,从而实现服务的快速恢复。
  4. 应急处理方法:

    • 如果 SYS 租户队列积压导致 RS 服务出现问题,可以通过重启问题节点的方式来尝试恢复服务。具体的步骤可以参考 重启 OBServer 节点

参考文档

希望这些信息能帮助您更好地理解 OceanBase 中 Root Service 的高可用性机制。如果有更多问题,请随时提问。

检索到的文档如下:

  1. 节点故障的自动处理
  2. SYS 租户/RS 服务问题
  3. 集群架构
  4. 日志流和副本概述
  5. OceanBase 数据库整体架构
  6. 数据库层高可用
  7. 资源单元的均衡
  8. 高可用 FAQ
  9. 高可用架构概述