可用性管理 #
集群自身高可用 #
多个计算节点高可用说明:因计算节点是无状态的,发生故障时无需切换,只要一个节点是存活的集群就是可用的。
集群业务高可用 #
集群和业务之间需添加接入层的高可用软件来保障高可用,SphereEx可以配合用户通过解决方案来实现。
同城多中心架构图 #
- 部署架构图
- 切换说明
故障 | RPO | PTO |
---|---|---|
单AZ故障 | 0 | 0 |
多AZ故障 | 0 | 取决于恢复任意AZ的时间 |
同机房架构图 #
- 部署架构图
- 切换说明
故障 | RPO | PTO |
---|---|---|
单AZ故障 | 0 | 0 |
多AZ故障 | 0 | 取决于恢复任意AZ的时间 |
集群组件可用性说明 #
组件名称 | 部署架构 | 后台技术 | 安全性说明 |
---|---|---|---|
监控中心 | 单机 | Prometheus | 出现故障人工处理 |
监控插件 | 单机 | 出现故障人工处理 | |
治理中心 | 集群 | ZooKepper | 出现故障自动切换 |
日志中心 | 集群 | Elasticsearch+logstash | 出现故障自动切换 |
Filebeat | 单机 | 出现故障人工处理 | |
计算节点 | 单机 | Engine-Proxy | 出现故障自动下线,无需切换 |
存储节点 | 用户部署环境 | 用户部署环境 | 用户部署环境 |
存储节点高可用感知 #
- 定义
高可用是现代系统的最基本诉求,作为系统基石的数据库,对于高可用的要求也是必不可少的。 在存算分离的分布式数据库体系中,存储节点和计算节点的高可用方案是不同的。
对于有状态的存储节点来说,需要其自身具备数据一致性同步、探活、主节点选举等能力;
对于无状态的计算节点来说,需要感知存储节点的变化的同时,还需要独立架设负载均衡器,并具备服务发现和请求分发的能力。
尽可能的保证 7X24 小时不间断的数据库服务,是 SphereEx-DBPlusEngine 高可用模块的主要设计目标。
SphereEx-DBPlusEngine 不提供数据库高可用的能力,它通过第三方提供的高可用方案感知数据库主从关系的切换。 确切来说,SphereEx-DBPlusEngine 提供数据库发现的能力,自动感知数据库主从关系,并修正计算节点对数据库的连接。
- 动态读写分离
高可用和读写分离一起使用时,读写分离无需配置具体的主库和从库。 高可用的数据源会动态的修正读写分离的主从关系,并正确的疏导读写流量。
- 支持项
- MySQL MGR 单主模式。
- MySQL 主从复制模式。
- OpenGauss 主从复制模式。
- 不支持项
- MySQL MGR 多主模式。
- 原理介绍
SphereEx-DBPlusEngine 提供的高可用方案,允许用户进行二次定制开发及实现扩展,主要分为四个步骤 : 前置检查、动态发现主库、动态发现从库、同步配置。
集群生态工具可用性说明 #
工具 | 部署架构 | 安全性说明 |
---|---|---|
SphereEx-Boot | 单机 | 出现故障人工处理 |
SphereEx-Console | 单机 | 出现故障人工处理,后台数据库为主从架构,无法自动切换需人工介入 |