数据库容器化PaaS平台建设方案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

审批流程
管 理
API接口
审批意见 历史记录
中间件增删 配置中间件
中间件 状态
可 用
可用区


配置可用区

SIP管理
可用区主机配置
流量入口中间件配置管理
2020
容器化方案中的一些选择
API兼容性采用K8S v1.16 版本及其以上
⚫ 监控采用Prometheus + Grafana ⚫ 分布式监控能力 ⚫ 自研代理(集成exporter + cAdvisor)
⚫ 自研技术底座 ⚫ 自研容器化有状态服务管理
能力(非Operator)
富容器 → Service Catalog → 集成原生API接口(云原生)
⚫ 访问入口(直连\中间件\ingress\LB) ⚫ Local disk PV ⚫ 分布式存储对接
⚫ 数据库高可用与K8S副本调 度策略协同
⚫ EFK和K8S日志展示集成, 保留容器化运维习惯
互联网行业
• 高性能(高并发、大数据量、性能优化) • 开发友好(数据库种类和架构的丰富性) • 服务交付效率(DevOps、快速上线、版本发布) • 高可用性(快速恢复、双活、切换无感知)
2020
管理层的设计
平台在项目交付中曾遇到过大规模下性能问题、数据库灾备切换问题、监控告警的扩展问题等。
可用性
自动化
• 一键式部署 • 流程标准化 • 快速交付
智能化
• 恢复演练 • SQL审核及优化 • 故障自愈
平台化
• 技术中台 • 数据安全性 • 数字化
2020
构建数据库PaaS需要什么
先分层→ 后细化
经验和需求的转化:
1、100+运维管理人员的经验吸收 2、200+客户和400+项目需求的收集
管理层
数据库层的设计
兼容性
1. 不同的灾备等级下平台和数据库的架构应该如何设计? 2. 平台功能很多,日常运维人员需要关注哪些?
架构
能力中心
• MySQL / TiDB /OpenGauss
• MongoDB / Redis • 开源数据库主流版本 • x86 / ARM服务器 • 虚拟化 / 容器
• 高可用(数据同步方式)
⚫ 数据库架构标准化 ⚫ 容器化镜像
2020
具备全生命周期管理能力
• 数据库归档 • 数据库销毁 • 定时下线回收
• 数据库在线迁移 • 数据库规格变更 • 数据库版本升级 • 数据库扩容 • 参数变更 • 高可用切换策略
• 监控告警 • 数据库开发及测试 • 备份恢复 • 性能优化(锁、
TOPSQL、慢SQL) • 故障分析
实用性
扩展性
• 服务模块化 • 分布式Raft算法 • 组件高可用 • 跨中心部署 • 服务调度
2020
• 自服务交互 • 运维管理交互 • 安全性规范 • 交互遵循大众习惯
• 多级存储 • 数据模型优化 • Consul / Etcd分布式KV • MySQL持久化 • SQLite缓存 • 组件水平扩展

服务申请



台账管理
高可用 读写分离
分布式 灾备
销毁 水平扩展
实例诊断 修改实例规格
概览信息 访问方式
架构拓扑 规格信息

用户组


租户

资 源
添加/删除 主机


修改主机
权限
角色 鉴权
容器注册
中 间

上架/下架


模 板
服务规格模板
管 理
计费模板
CPBiblioteka Baidu配置 内存配置
磁盘 空间
& IOPS
审 批
资源 变更
资源 使用
• 分钟级别交付 • 数据库拓扑信息 • 与CMDB对接
资源 回收
连接 采用Agent方式
数据库层

可视化交互
平台可用性
元数据分布式 微服务化
资源调度
自动化
健壮性守 护
接口管 理
服务管 理
安装部 署
版本管 理
实例管 理
备份恢 复
监控告 警
SQL发 布
架构编 排
日志收 集
2020
不同客户的关注点
金融行业
• 稳定性(平台本身、数据库、安全性、大规模) • 高可用性(两地三中心灾备、数据一致性) • 兼容性(数据库版本、基础环境、国产化软硬件、原有实例纳管) • 运维便利性(故障快速定位、和内部平台对接、规范体系、灾备演练)
• 读写分离 • 分布式 • 灾备(两地三中心) • 同城双活
2020
• 实例运维管理
• 故障切换 + 自定义流程 • 性能分析 • 批量处理 • 告警收敛 • 实例自动化巡检评分
数据库容器化PaaS整体架构
1. 大集群(单集群支持2000+实例) 2. 多种类数据库服务,涵盖应用多种需求 3. 平台功能模块化,易扩展
手工备份 恢复到备份
恢复到指定时间点 备份资源配置
恢复演练 演练规则

自动化巡检报告

大屏展示

慢日志分析

SQL上线审核
安装部署 标签管理

资源消耗

数据库连接状态
图形展示
指标定义

数据库请求状态

数据库数据状态
API接口

告警信息展示


告警配置管理

邮件/微信/短信等告警通道管理
API接口
告警处理
向自动化、智能化步进
注: 1. 仅统计MySQL、MongoDB、Redis等 2. 已有客户 + 圈内调研
2020
为什么需要构建数据库PaaS
应用架构的发展:单体应用 → 企业级SOA → 互联网服务化 → 微服务
大规模
• 数据库实例5000+ • 分散分布(分布式)
统一管理
• 支持常见的开源数据库 • 多云数据库管理 • 多种架构
台账管理 数据管理
大屏展示 日志分析
POD
POD
POD
POD
操作系统 硬件服务器
网络设备 / SDN 存储设备 / SDS
生产数据中心
2020
操作系统 硬件服务器
网络设备 / SDN 存储设备 / SDS
灾备数据中心
数据库容器化PaaS功能架构
数 据 库 容 器 化 PaaS
备 份
备份集管理


备份策略
可视化交互
数据库自服务管理
4. 运维流程贴合运维习惯,故障分析便利 5. 平台和数据库支持多中心部署 6. 服务获取简单快速
智能化运维管理
API接口管理
高可用 灾备管理
读写分离 配置管理
分布式 备份恢复
多租户 权限管理
实例诊断 安装部署
接口 封装
基础技术底座
原生API
Kubernetes
监控告警 操作审计
数据库容器化PaaS平台建设方案
技术创新,变革未来
开源数据库使用的现状
10%
• 物理机+手工配 置部署
• 虚拟机镜像模板 +手工配置
30%
• 物理机+脚本 • 虚拟机镜像模板
+手工配置
20%
• 虚拟机+脚本 • 容器模板 • 物理机+脚本
20%
• 私有化PaaS • 物理机+脚本
20%
• 公有云RDS • 专有云
相关文档
最新文档