OceanBase 中,哪个组件负责接收客户端 SQL 请求、转发到 OBServer?
A. RootService
B. OBProxy
C. RS
D. MergeServer
正确答案是 B. OBProxy 。
各组件职责辨析
- OBProxy(正确选项) :这是 OceanBase 的反向代理 组件,部署在 OBServer 之外。它负责接收客户端(如应用、驱动)发来的 SQL 请求,根据路由规则(如分区位置、Leader 副本)将请求转发到正确的 OBServer 上执行,并返回结果。它本身不存储数据、不执行 SQL 计算。
- RootService(A)/ RS(C) :两者是同一个东西。RootService 是 OceanBase 的总控服务 ,内嵌在某个 OBServer 上,负责集群管理、资源调度、副本均衡、DDL 协调、故障切换等,不负责接收和转发客户端 SQL 请求 。
- MergeServer(D) :这是 OceanBase 早期版本(0.4/1.x) 中的组件,负责 SQL 解析、路由和结果合并。在 2.x 及以后版本 中,MergeServer 的职责已被整合进 OBServer 内部(SQL 层),该组件名称已不再使用。在当前 OceanBase 架构中,客户端请求的接入与转发由 OBProxy 承担。