高可用架构中主动冗余、被动冗余、故障转移和脑裂风险的关键区别
进阶版来源:huawei高级工程师
草稿
答案解析
在高可用架构里,这几个概念经常一起出现,但关注点不一样。
主动冗余 指的是多个节点同时对外提供服务,也可以理解为 Active Active。比如两个机房、多个服务实例同时接流量,通过负载均衡分摊请求。它的优点是资源利用率高,容量也更容易横向扩展,一个节点挂了以后,流量可以快速切到其他节点;缺点是设计复杂,尤其是数据一致性、并发写入、跨节点状态同步会比较难处理。
被动冗余 一般是 Active Standby,也就是主节点工作,备节点平时不处理业务请求,只做数据同步或状态等待。主节点故障后,备节点再接管服务。它的优点是架构相对简单,数据冲突风险小;缺点是资源利用率低,而且切换过程中通常会有短暂不可用,恢复时间取决于探活、选主、数据恢复和流量切换速度。
故障转移 不是一种冗余形态,而是发生故障后的切换动作。比如主库挂了,系统把写流量切到从库;服务实例宕机,注册中心摘除实例,负载均衡把请求打到其他实例。故障转移通常包括故障检测、确认、选主或切换、流量迁移、数据校验几个环节。它可以是自动的,也可以是人工的。自动故障转移恢复快,但误判风险更高;人工故障转移更稳,但恢复时
登录后查看完整内容
