【多选题】关于 ODP 的高可用机制,以下描述正确的是?
A ODP TCP的探活机制只能探测TCP 连接的状态,但是无法感知OBServer合并、升级、 leader 切换、宕机、启动/停止等过程中的状态
B 当探测到OBServer不可用时,ODP就将OBServer加入黑名单中,黑名单中的 OBServer 将被过滤不再访问
C ODP 实现了状态黑名单、探测黑名单和活不可用黑名单三种不同的黑名单。
D 节点加入黑名单后,需要手动洗白该节点才恢复访问。
【多选题】关于 ODP 的高可用机制,以下描述正确的是?
A ODP TCP的探活机制只能探测TCP 连接的状态,但是无法感知OBServer合并、升级、 leader 切换、宕机、启动/停止等过程中的状态
B 当探测到OBServer不可用时,ODP就将OBServer加入黑名单中,黑名单中的 OBServer 将被过滤不再访问
C ODP 实现了状态黑名单、探测黑名单和活不可用黑名单三种不同的黑名单。
D 节点加入黑名单后,需要手动洗白该节点才恢复访问。
ABC
ABC正确
题没少刷啊,哈哈
对对
up!
ABC
节点加入黑名单后,需要手动洗白该节点才恢复访问。---->
因此,ODP 在现有的状态黑名单基础上又实现了探测黑名单,通过给 OBServer 节点发送探测 SQL 来确定 OBServer 节点状态。ODP 会给 OceanBase 数据库的 sys 租户发送探测 SQL select 'detect server alive' from dual,并设置 5s 的超时时间,当超时时间内无结果返回时,会增加一次探测失败次数,当连续失败次数超过 3 次后认为探测失败,设置 OBServer 节点状态为 DETECT_DEAD。如果有结果返回,会将探测失败次数清零,设置 OBServer 节点状态为 DETECT_ALIVE。发生探测状态变更后,触发 ODP 行为如下。
DETECT_ALIVE 状态:将 OBServer 节点从探测黑名单中洗白。DETECT_DEAD 状态:将 OBServer 节点加入到探测黑名单,并将所有和该 OBServer 节点的连接关闭。可以自动洗白