首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【赵渝强老师】OceanBase OBServer节点的接入层

【赵渝强老师】OceanBase OBServer节点的接入层

原创
作者头像
赵渝强老师
发布2025-06-27 16:32:41
发布2025-06-27 16:32:41
840
举报
文章被收录于专栏:OceanBaseOceanBase

OceanBase数据库代理ODP(OceanBase Database Proxy,又称OBProxy)是OceanBase数据库的接入层,负责将用户的请求转发到合适的OceanBase数据库实例上进行处理。ODP是独立的进程实例,独立于OceanBase数据库实例部署。ODP监听网络端口,兼容MySQL网络协议,支持使用MySQL驱动的应用直接连接OceanBase数据库。ODP能够自动发现OceanBase集群的租户及数据分布信息,对于代理的每一条SQL语句,能尽可能识别出该语句将要访问的数据,并将该语句直接转发到数据所在服务器的OceanBase数据库实例。

视频讲解如下:

客户端通过ODP访问OceanBase数据库的数据链路如下图所示。

作为OceanBase数据库的关键组件,ODP具有以下特性:

  • 连接管理

针对一个客户端的物理连接,ODP维持自身到后端多个OBServer节点的连接,并维持了每个OBServer节点连接的会话状态,保证了客户端高效访问各个OBServer节点。

  • 最佳路由

ODP充分考虑用户请求涉及的副本位置、用户配置的读写分离路由策略、OceanBase多地部署的最优链路,以及OceanBase各机器的状态及负载情况,将用户的请求路由到最佳的OBServer节点,最大程度地保证了OceanBase整体的高性能运转。

  • 高性能转发

ODP完整兼容MySQL协议,并支持OceanBase自研协议,采用多线程异步框架和透明流式转发的设计,保证了数据的高性能转发,同时确保了自身对机器资源的最小消耗。

  • 易运维

ODP本身无状态,支持无限水平扩展,支持同时访问多个OceanBase集群。可通过丰富的内部命令对ODP状态进行实时监控,这使得运维简单便利。

  • 高可用

ODP高可用分为两部分:一方面保证自身高可用,持续提供代理服务;另一方面ODP是OceanBase高可用体系的主要组成部分,可以对用户屏蔽宕机、升级等情况,保证OceanBase数据库服务的稳定和快速恢复。

  • 专有协议

ODP与OBServer节点默认采用了OceanBase专有协议,如增加报文的CRC校验保证与OBServer节点链路的正确性,增强传输协议以支持Oracle兼容性的数据类型和交互模型。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档