《2019年平安云数据库服务系统架构设计.pdf》由会员分享,可在线阅读,更多相关《2019年平安云数据库服务系统架构设计.pdf(33页珍藏版)》请在三个皮匠报告上搜索。
1、云数据库服务云数据库服务平台云数据库服务资源管控引擎云数据库服务系统架构对云数据库服务的思考云数据库 VS 云数据库服务用户对云数据库服务的需求是什么?能在云平台上购买到需要的云数据库及其管理服务产品服务操作便捷、成功率高需要提供丰富的云数据库产品类型及其管理服务对云数据库服务的思考需求分析一个灵活的、可扩展的、按需服务的平台,以自助服务和便捷管理为导向,对云数据库资源进行管控。云数据库服务云数据库服务平台云数据库服务资源管控引擎云数据库服务系统架构微服务微服务微服务微服务数据库数据库API Gateway前端UI浏览器微服务微服务微服务第三方应用第三方应用服务治理平台微服务集群架构WiseA
2、PM神兵&CaaS部署服务拆分服务边界产品服务产品服务产品服务产品服务(面向租户)产品服务(面向管理)管理服务管理服务管理服务公共服务共享数据公共服务公共服务公共服务公共服务公共服务批处理任务批处理任务用户公共服务系统边界平安云门户网关云数据库服务系统公共服务公共服务公共服务公共服务产品服务产品服务产品服务产品服务微服务治理组件外部系统外部系统云数据库管理平台外部系统系统间调用系统内调用外部系统服务拆分平安云门户网关注册中心缓存配置中心RDS-Mysql调度服务中间件服务消息发送服务容器编排服务监控服务日志服务报表服务安全中心云数据库管理平台RDS-PostgreSQLDDSRedisTiDB
3、DRDSDMSDTS产品服务公共服务应用同城双活和异地容灾平安云门户CXPCXPDBaaSDBaaSDBaaSDBaaSBGPBGPDCILVXLVX平安云门户dbaas.pacloud.pubdbaas.pacloud.pubCXPDBaaSDBaaS平安云门户dbaas.pacloud.pub生产AZ同城AZ远程AZ异地容灾启用产品服务调度服务产品服务产品服务调度引擎模块一模块二模块三原子服务原子服务原子服务原子服务原子服务动态配置管理降低开发复杂度调度服务减少耦合公共服务产品服务底层服务系统间调用系统内调用其他公共服务调度服务流程控制配置化管理编排引擎调度服务满足各种执行顺序的需求编排配
4、置化,配置模块化执行编排,对编排执行状态可控降低开发难度尽量复用代码流程控制核心思想开始选择ABDFEC支持分流结束开始选择ABD结束EC支持串行或并行异常支持续作开始选择ABDFEC结束支持合流任务:创建DB实例配置化管理请求编排引擎编排一编排二编排N任务一任务二任务三步骤一步骤三步骤N步骤N+1步骤二任务四任务Nn步骤支持http、sql等操作n步骤支持http全局串行n步骤支持http请求返回码判断n步骤支持http异步轮询请求结果n步骤支持所有步骤超时配置三种模块:编排、任务、步骤所有模块可以重复使用流程控制和编排都采用配置化管理n功能模块化n开发复杂度低n代码复用度高步骤:建卷编排:
5、创建DB主从实例编排引擎编排引擎编排一任务一步骤一步骤三步骤N步骤N+1步骤二任务二任务N异常触发告警处理问题步骤四云管理平台编排引擎编排N编排日志生成执行编排日志自动修复成功自动修复失败执行断点续作n 跳过当前步骤,继续执行后续步骤n 从当前步骤继续执行云数据库服务云数据库服务平台云数据库服务资源管控引擎云数据库服务系统架构资源管控引擎数据模型n数据模型,资源实体化,资源对象模型,资源管理的基础n资源分配引擎=数据模型+引擎+资源分配数据n操作互斥引擎=数据模型+引擎+资源状态数据操作互斥引擎资源分配引擎数据建模l计算l存储l网络l数据库l中间件l资源分配引擎DB资源分配引擎集群资源分配引擎
6、计算资源分配引擎计算云数据库主、从实例的计算节点等计算产品类型、环境、角色、投产状态、网段类型等计算资源分配创建/扩容获取全局锁预写配置释放锁,创建/扩容资源分配引擎资源满足资源不满足释放锁提示用户避免资源超分计算资源分配计算资源分配引擎平台POC、SIT、UAT环境怎么提高资源利用率?资源分配去哪里?计算资源分配引擎计算资源分配引擎伸缩引擎分布引擎普通伸缩灾备伸缩均匀分布集中分布混合分布伸缩引擎(普通伸缩)伸缩因子资源类型操作类型CPU内存新增扩容场景:资源分配率高,实际使用率低。计算节点(CPU)Total:40CCPU_扩容_伸缩因子=1.2CPU_新增_伸缩因子=1Required:3
7、0C剩余能新增容量=40C*1-30C=10C假设Used:5C剩余能扩容容量=40C*1.2-30C=18C需求一:新增分配16C资源需求二:已有资源扩容16C资源计算需求一:可容纳新增容量10C需求容量16C,该节点满足例如:平台测试环境伸缩引擎(灾备伸缩)场景:条件一:灾备实例的资源消耗远远小于生产实例。条件二:多个可用区/地域的灾备实例可能在同一节点,容灾可以仅基于单可用区/地域故障场景的资源容量评估。(灾备)Y节点(CPU)说明:灾备伸缩和普通伸缩是叠加关系。RG1-AZ2(主)X节点(CPU)Total:40CRG1-AZ1Total:40C(主)Z节点(CPU)RG2-AZ1To
8、tal:40CRequired:20CRequired:30CRequired:20CY节点 新增_CPU_伸缩因子=1RG1-AZ1的X节点已分配30C,其同城从实例分配在RG1-AZ2的Y节点。假设计算需求:RG2-AZ1的Z节点已分配20C,其远程容灾实例计算能否放在Y节点。可容纳RG1同城灾备资源=40C*1-30C=10C可容纳RG2远程灾备资源=40C*1-0C=40C可容纳RG2新增容量40C需求容量20C,该节点满足Required:30C例如:平台测试环境灾备资源分布引擎(资源集群)资源逻辑集群l多个底层资源环境相同的节点可以组成一个逻辑集群l一个节点可以属于多个逻辑集群资源
9、物理集群l多个底层资源环境相同的节点可以组成一个物理集群l一个节点只能属于一个物理集群NodeANodeBNodeC逻辑集群X逻辑集群YNodeANodeBNodeCNodeD物理集群X物理集群Y分布引擎(均匀分布)算法:选择剩余资源最多的资源池优先分配A资源池(CPU)Total:1000CRequired:500CB资源池(CPU)Total:1000CRequired:400CB资源池剩余容量600CA资源池剩余容量500Cl资源分布均衡l资源利用率相对其他算法较低分布特点l有几率出现无法满足大容量需求需求:新增100C资源B资源池满足需求,资源分配给B资源池应用场景l计算资源可用区选择
10、计算分布引擎(集中分布)算法:选择剩余资源最少且满足需求的资源池优先分配(优先填满)A资源池(CPU)Total:1000CRequired:800CB资源池(CPU)Total:1000CRequired:400C需求二:新增300C资源分布特点需求一:新增100C资源A资源池满足需求一,资源分配给A资源池A资源池剩余容量200C需求一容量100CA资源池剩余容量200C需求二容量300C计算B资源池满足需求二,资源分配给B资源池l资源分布集中l资源利用率相对其他算法较高l集中资源池故障影响相对较大应用场景l计算资源节点选择分布引擎(混合分布)算法:部分资源池均匀分布,部分资源池集中分布,均
11、匀分布优先A资源池(CPU)Total:1000CRequired:200CB资源池(CPU)Total:1000CRequired:400Cl大部分资源池均匀分布,极少数资源池集中分布l集中分布能满足大容量套餐的需求分布特点l均匀分布能降低故障影响范围C资源池(CPU)Total:1000C均匀分布集中分布需求:新增100C资源,根据优先均匀分布原则,A资源池满足需求:新增900C资源,均匀分布资源池不满足,集中分布C资源池满足应用场景l计算资源集群选择操作互斥引擎(锁机制)引擎A对象B对象C对象D对象X锁S锁兼容不兼容加锁执行操作停止操作服务请求操作对象规则释放锁操作互斥引擎(状态机制)引
12、擎操作请求维护中|资源异常非维护中&资源正常不可操作可操作资源资源资源agentagentagent引擎引擎自顶向下自底向上云管理平台资源维护状态判断资源状态管理云数据库服务云数据库服务平台云数据库服务资源管控引擎云数据库服务系统架构平安云数据库服务系统架构平安云平台RDS消息服务运维管理工具数据库中间件平台中间件智能监控&日志云CI/CD备份服务中间件服务容器编排服务调度服务操作互斥引擎CMDBRDS-ServiceDRDS-ServiceDDS-ServiceRedis-ServiceTiDB-Service资源分配引擎平安云数据库管理平台计算(容器)安全存储网络DRDSDDSRedisTiDB平安云数据库产品