面向运维人员的工具 OCP(OceanBase Cloud Platform):白屏化管理和运维 OceanBase 数据库,让运维管控更加简单
数据访问链路工具 ODP(OceanBase Database Proxy):让访问分布式数据库像访问单机数据库一样简单
《详细解读 ODP&OCP 两大生态工具》
2月17日(周四)19:30,OceanBase 高级研发工程师致新和技术专家雪染将为你带来 ODP&OCP 两大生态工具的详细解读。
本次直播将为你讲解:
ODP 篇
通过比较不同的数据库系统架构,说明为什么需要使用 ODP;
ODP 的核心功能介绍和常见问题说明;
不同场景中 ODP 的部署和使用。
OCP 篇
介绍 OCP 的核心功能和常见问题;
介绍不同场景使用 OCP 的建议。
以上内容将帮助你解决以下痛点:
ODP 篇
OceanBase数据库是分布式架构,ODP 如何让访问 OceanBase 数据库像访问单机数据库一样简单?
分布式系统中存在很多问题,比如机器故障和上下线、网络问题、不同机房延迟问题等,ODP 怎么应对这些问题?
面对复杂的业务场景,ODP 有哪些部署和使用建议?
OCP 篇
OceanBase 集群部署起来太复杂,想要体验却一直阻碍在第一步;
OceanBase 作为一个分布式数据库,如何全面掌控集群的运行状态;
想使用 OceanBase 又需要其他组件,有没有一个统一的平台能做所有的事情。
学完本期,你将能轻松应对以下问题:
ODP 篇
ODP 在 OB 架构中的重要作用,以及如何部署和运维 ODP;
了解 ODP 的连接管理、路由问题、高可用等知识点,学会分析处理常见问题;
全链路了解 OceanBase 数据库的运行机制。
OCP篇
顺利地部署 OCP 并且用来管理 OceanBase 和相关组件;
OCP 在 OceanBase 生态中的作用,如何串联起 OceanBase 和其他生态工具;
OceanBase 在生产环境使用的一些规范建议。
ODP 是 OceanBase 的代理服务器,对外提供统一的访问入口:
ODP 完全兼容 MySQL 协议,用户访问 ODP 的方式与访问 MySQL 保持一致,ODP 透明转发来自客户端的 SQL 至 OceanBase。用户无需修改现有的数据库访问代码,即可正常访问数据库。
兼容 MySQL 的各种语言客户端,包括 Java/C++/Python/Go/Rust等。
ODP 无状态、轻量,CPU 最低需要1c,内存启动约百M,可以在任意 linux 机器上部署。
通过使用 ODP,用户可以访问 OceanBase 不同集群下的不同租户,简单方便。
高性能转发:ODP 完整兼容 MySQL 协议,采用多线程异步框架和透明流式转发的设计,既保证了数据的高性能转发,也确保了自身对机器资源的最小消耗。
最佳路由:ODP 会充分考虑用户请求涉及的副本位置、用户配置的读写分离路由策略、OceanBase 多地部署的最优链路,以及 OceanBase 各机器的状态及负载情况。ODP 将用户的请求路由到最佳的 OBServer,最大程度保证了 OceanBase 整体的高性能运转。
连接管理:针对一个客户端的物理连接,ODP 维持自身到后端多个 OBServer 的连接,采用基于版本号的增量同步方案维持了每个 OBServer 连接的会话状态,以此保证了客户端高效访问各个 OBServer。
专有协议:ODP 与 OBServer 默认采用了 OceanBase 专有协议,如增加报文的 CRC 校验保证与 OBServer 链路的正确性,增强传输协议以支持 Oracle 兼容性的数据类型和交互模型。
安全可信:ODP 支持使用 SSL 访问数据,并和 MySQL 协议做了兼容,以满足客户的安全需求。
易运维:ODP 本身无状态,不仅支持无限水平扩展,还支持同时访问多个 OceanBase 集群。ODP 可以通过丰富的内部命令实现对自身状态的实时监控,以此实现极大的运维便利性。
场景1:我是新手用户,如何快速创建一个 OceanBase 集群进行体验
在 OCP 中,将主机资源添加进去,按照页面提示,发起创建集群的任务,任务完成后,集群就建好了,全程只需要 Web 页面上填写一些信息。
OceanBase 提供了不同级别的容灾能力,都依赖多数派予以实现,对于发生少数派的故障可以容忍,但是一定要及时处理,避免其发展成多数派故障,影响可用性。一般处理方式是直接将故障主机进行替换。OCP 提供了一键替换故障主机的能力,选择要替换的主机,发起任务即可。
2. 作为诊断 OceanBase 的利器
好的系统不仅要好用,可监控也是一项重要的能力,OceanBase 提供了各种视图,记录自身的运行状态。要通过这些视图来排查问题,需要对 OceanBase 足够了解,而且有些视图只能记录当前的状态值,无法看到一段时间的趋势。OCP 收集了 OceanBase 主要的监控指标,并且进行了整理,支持实时和历史趋势的查询,能够以不同的逻辑和时间维度来分析问题。
问题1:OCP 的监控和 OBAgent 有什么区别,应该怎么选
OCP 是一个全功能的平台,包含了监控数据的采集、计算和展示,OBAgent 仅做采集,需要配合 Prometheus 和 Grafana 来使用。
OCP 的指标经过筛选,页面也是按照 OceanBase 的资源进行设计,而 OBAgent 的配置更加灵活,采集计算的逻辑以及 Grafana 的展示页面都可以自己配置,每部分更专注自身的逻辑。
OCP 采集监控数据是通过 Exporter 的形式进行的采集,可以和 Prometheus 进行集成。OCP 提供了 OpenAPI 进行监控数据的查询,可以直接查询到计算好的监控数据。
3. 为其他组件提供配置服务
OCP 作为 OceanBase 生态中的一个重要成员,除了具有 OceanBase 的运维监控功能之外,也为其他组件提供了 OceanBase 的原数据查询功能,OCP 中记录了 OceanBase 的 Rootservice 地址信息,并保证了同步,可以为其他组件提供连接 OceanBase 的方式。
「 OCP 模块简介」
OCP 最重要的模块包括 OCP 管理服务、OCP Agent、存储数据库三个部分:
OCP 管理服务:一个由 java 实现的服务,实现了管控 OceanBase 的主要逻辑,提供 http 服务;
OCP Agent:部署在 OCP 管理的主机上,负责执行 OCP server 发送的运维命令、采集监控指标;
存储数据库:包含元信息数据库和监控数据库,元信息数据库记录了 OCP 管理的资源,包括主机、OceanBase 集群、OBProxy 等,监控数据库记录了采集到的监控原始数据和聚合计算之后的结果。
「OCP 运维功能实现简介」
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70005215/viewspace-2855715/ ,如需转载,请注明出处,否则将追究法律责任。