什么是GaussDB实例可用性
什么是GaussDB实例可用性
GaussDB实例可用性是指华为云数据库GaussDB在运行过程中持续提供服务的能力,通常以百分比形式表示,其核心目标是最大限度减少服务中断时间,确保业务连续性。以下是关键要点解析:
📊 1. 定义与计算公式
实例可用性 = (1 – 故障时间 / 服务总时间) × 100%。
故障时间:实例运行期间因主备切换、节点故障等导致服务不可用的累计时长。
服务总时间:实例从购买完成后开始计算的总运行时长。
例如,若实例全年故障时间为52分钟,则可用性为99.99%(俗称“四个9”)。
📅 2. 可用性等级与SLO目标
不同业务对可用性要求不同,通常以服务等级目标(SLO) 定义:
99%:年故障时间 ≤ 87.6小时(适用于非关键业务)。
99.95%:年故障时间 ≤ 4.38小时(企业级通用标准)。
99.999%:年故障时间 ≤ 5.26分钟(金融、电信等高要求场景)。
GaussDB通过冗余架构和自动故障转移机制支持高SLO目标。
⚙️ 3. 高可用核心技术
应用无损透明(ALT):
连接保持:主备切换时,驱动层自动重建连接并恢复会话参数,业务无感知。
事务断点续传:缓存未提交事务的上下文信息(如锁、变量),切换后从事务中断点继续执行,避免业务重试。
实时消息通知(GNS):主动推送集群状态变更(如主库切换),替代低效轮询。
数据同步机制:
WAL日志复制:主节点通过WalSender线程向备节点同步日志,备节点通过WalReceiver接收并重放,保障数据一致性。
多模式同步策略:
最大保护模式:事务需多数派节点日志落盘才提交(RPO=0,可用性低)。
最大性能模式:本地日志落盘即提交(RPO>0,可用性高)。
🏗️ 4. 架构支撑
多可用区(AZ)部署:
同Region内多个AZ间网络隔离、内网互通,支持跨AZ主备切换,实现机房级容灾。
典型部署如“3AZ 4副本”:2个业务AZ + 1个仲裁AZ,单AZ故障不影响RPO=0。
组件冗余设计:
DN节点:处理数据存储与查询,主备间通过Quorum/Paxos协议选举。
CM Server:监控节点状态,触发故障转移。
⚖️ 5. 可用性策略配置
支持按业务需求切换策略:
可靠性优先:默认策略,主备切换时优先保障数据一致性(如金融交易)。
可用性优先:切换时优先恢复服务,可能容忍少量数据丢失(如实时在线系统)。
🔍 6. 监控与优化
云监控服务:实时探测HTTP/S等协议响应,超时或报错时触发告警。
多活管理(MAS):支持跨云监控Redis等组件,配置自动切换阈值和重试策略。
💎 总结
GaussDB的高可用性本质是冗余架构、智能故障转移和数据强一致性的综合体现。通过ALT特性实现业务无感切换,结合多AZ部署与灵活策略配置,可满足从99.9%到99.999%的SLO需求。实际应用中需权衡RTO(恢复时间)、RPO(数据丢失量) 与性能成本,选择适配的同步模式与部署方案。