OceanBase 的分区什么叫主改选的?什么情况下会发生主改选,住改选的具体流程是什么样的?
有主改选的步骤
在 OceanBase 数据库中,有主改选(即 Leader 选举)是为了在某个 Leader 节点发生故障时,确保集群的高可用性和数据一致性。以下是具体的改选步骤:
检测故障:
系统会定期检测各个节点的状态,如果发现当前 Leader 节点发生故障或网络分区,Follower 节点会感知到这一情况
触发选举:
当 Follower 节点发现 Leader 节点不可用时,会触发新一轮的 Leader 选举
多数派共识:
选举过程中,Follower 节点会通过 Paxos 协议达成多数派共识,选出新的 Leader 节点。只有当多数派节点同意某个节点成为 Leader 时,该节点才能被选举为新的 Leader
确认选举结果:
新选举的 Leader 节点会通知其他 Follower 节点,确认其 Leader 身份。所有 Follower 节点会更新其状态,指向新的 Leader 节点
恢复服务:
新的 Leader 节点接管后,会继续处理客户端的请求,确保集群的正常运行
总结
检测故障:系统定期检测节点状态,发现 Leader 节点不可用
触发选举:Follower 节点触发新一轮的 Leader 选举
多数派共识:通过 Paxos 协议达成多数派共识,选出新的 Leader 节点
确认选举结果:新的 Leader 节点通知其他 Follower 节点,确认其身份
恢复服务:新的 Leader 节点接管后,继续处理客户端请求