数据库高可用(High Availability, HA)旨在通过冗余设计和故障自动恢复机制,确保系统在部分节点失效时仍能持续提供服务。只读分析实例通过多节点部署的方式实现高可用,通过将数据库实例分布在多个物理节点上,并结合数据同步、故障检测和流量切换等机制,保障业务连续性。本文为您介绍只读分析实例实现高可用的原理以及相关操作和管理。
实现原理
冗余架构
一个只读分析实例下支持部署1 - 6个节点,当节点数量大于1个时,多个节点之间为对等关系,共同承载查询流量。当只读分析实例下的某一个节点发生故障时,系统可自动将 SQL 流量转发至“存活”的节点,即转发至该只读分析实例下其他正常运行的节点,避免单点故障导致业务不可用。
故障检测与切换(Failover)
心跳机制:在只读分析实例的节点之间,通过周期性心跳检测来探测节点的“存活”状态,若节点超时未响应(检测间隔时间为3秒),则会触发故障判定。
自动切换:当周期性心跳检测到节点故障时,系统将再次对节点进行两次无间隔的“存活”探测(探测时间约10秒)。如果持续探活节点失败,则系统将在1 - 5秒内将故障节点移出只读分析实例,然后等待故障节点恢复或者自动重建后再加入到该只读分析实例中。
负载均衡
只读分析实例中的多个节点使用负载均衡的形式为您提供服务。所有节点都可以正常承载业务流量,提升业务的并发执行性能。
注意:
目前节点的负载均衡能力是连接级别的负载均衡。如果业务均为长连接,则建议在完成多节点设置后,全部重新访问数据库,以使连接更加均衡。
调整节点数量
注意:
只读分析实例目前默认采用从读写实例拉取数据的方式进行节点重建,故新增节点操作时,建议在业务低峰期进行。
2. 在实例架构图区域,单击只读分析引擎的实例 ID,进入只读分析引擎详情页面。
3. 在只读分析实例详情页面,在节点管理页签,单击节点变更。
4. 根据需要新增或删除节点,确认费用后单击确定。
新增节点:如需增加节点,请单击新增节点,可为当前只读分析实例新增1个节点,一个只读分析实例下最多支持6个节点。
删除:如需删除节点,请单击删除,若操作失误删除了错误的节点,可在单击确定之前,单击恢复。
说明:
节点的规格和可用区与只读分析实例一致。
一个只读分析实例下至少需保留1个节点,不支持全部删除。
5. 完成操作后即可返回实例列表,当节点状态显示为运行中时,即可正常使用。