# 高可用

5 篇文章

与「高可用」相关的全部文章。

如何设计故障容错的系统?

一、冗余 多实例部署,避免单点。 数据多副本(主从、集群)。 多机房部署。 二、故障检测 心跳检测,快速发现故障。 全链路监控,告警。 三、故障转移 自动切换(哨兵、集群选主)。 手动切流(流量调度)。 四、降级 非核心功能降级,保核心。 返回兜底数据。 五、熔断 下游故障快速失败,防止雪崩。 六、

CAP 定理和 BASE 理论?

一、CAP 定理 分布式系统不可能同时满足三个特性,最多满足两个: Consistency(一致性):所有节点同一时刻看到相同数据。 Availability(可用性):每个请求都能收到响应(不一定是最新数据)。 Partition tolerance(分区容错性):网络分区时系统仍能运行。 二、C

微服务高可用设计?

一、无状态服务 服务不保存状态,状态存 Redis/DB。 多实例部署,负载均衡。 任一实例挂了不影响。 二、服务发现 注册中心(Nacos/Eureka)。 服务实例上下线自动感知。 客户端负载均衡跳过不健康节点。 三、健康检查 注册中心心跳检测,不健康实例剔除。 K8s liveness/rea

MySQL 高可用方案?

一、主从复制 Master 写,Slave 读,异步复制。 Master 挂了需手动切换。 可能数据丢失(异步复制延迟)。 二、MHA(Master High Availability) 自动监控 Master,故障时自动切换。 需额外管理节点。 三、MGR(MySQL Group Replicat

Redis 高可用方案有哪些?

一、主从复制 Master 写,Slave 异步复制数据。 读可从 Slave,分担读压力。 Master 挂了需手动切换,不能自动故障转移。 二、哨兵模式(Sentinel) Sentinel 监控 Master/Slave 健康。 Master 故障时自动选举新 Master,通知客户端。 适合