聊聊 OceanBase 系统租户的风险点与运维关注点
很多刚接触 OceanBase 的运维同学,容易忽略系统租户在集群中的特殊地位,系统租户一旦故障,整个集群都会受影响。
系统租户作为集群的管控核心,承载 Root Service,负责集群内租户生命周期、资源管理、数据迁移、合并调度等所有管控操作。同时它也是客户端获取元数据的入口,所有业务连接建立前,都需要先和系统租户交互获取元信息。
系统租户架构上只有单一日志流,没有横向扩展能力,这是它最主要的瓶颈。当大批量业务应用同时重启,短时间发起大量元数据查询请求,很容易打满系统租户的工作线程,出现业务连接失败的现象。这种场景不是业务租户资源不足,而是系统租户的接入压力过载。
另外系统租户的数据属于集群内部私有数据,不支持物理备份恢复。运维上不能把业务数据放在系统租户,系统租户只用于集群管理,业务表都要建在用户租户中。
V4.0 版本新增 Meta 租户,把原本放在系统租户里的用户租户私有元数据迁移到对应 Meta 租户。这个改动大幅降低系统租户的数据量与访问压力,提升集群稳定性。
日常运维时,需要持续监控系统租户的线程使用、请求量。遇到业务批量重启场景,需要做好流量控制,避免瞬间请求压垮系统租户。同时要明确:系统租户只做管控,严禁存放业务数据,减少不必要的查询访问,保护集群管控面稳定。