跳转到主要内容
← 返回首页
🛡️

高可用

高可用系统架构设计

10 篇笔记

韧性模式

韧性模式 舱壁隔离 舱壁模式(Bulkhead)源自船舶设计,将系统划分为多个隔离区域,一个区域的故障不会影响其他区域。 java // 基于线程池的舱壁隔离 @Component public class BulkheadService { private final Execu...

⏱ 2m 高可用韧性舱壁熔断

备份架构设计

备份架构设计 备份策略对比 不同的备份策略在恢复时间、存储成本和备份速度之间有权衡。 全量备份 vs 增量备份 vs 差异备份 时间线: Day1: [全量备份] ---- 全量 Day2: [增量] ---- 只备份Day2变化 Day3: [增量] ---- 只备...

⏱ 2m 高可用备份恢复数据保护

优雅降级架构

优雅降级架构 功能降级 功能降级是在系统压力过大时,关闭非核心功能,集中资源保障核心业务。 java // 功能降级配置 @Component public class FeatureToggleService { private final Map<String, Boolean...

⏱ 2m 高可用优雅降级限流熔断

幂等设计

幂等设计 幂等性的定义 幂等性是指同一个操作执行一次和执行多次产生的效果相同。在分布式系统中,网络重试、消息重复投递等场景都需要幂等性保证。 非幂等操作示例: 扣减库存: UPDATE stock SET count = count - 1 执行2次: stock 减少2(错误) 幂等操作示...

⏱ 2m 高可用幂等去重状态机

数据复制架构

数据复制架构 主从复制 主从复制是最常见的数据复制模式。一个主节点处理写操作,多个从节点复制数据并处理读操作。 sql -- MySQL 主从复制配置示例 -- 主节点配置 [mysqld] server-id = 1 log-bin = mysql-bin binlog-format = ROW...

⏱ 2m 高可用数据复制主从复制一致性

故障转移设计

故障转移设计 健康检查机制 健康检查是故障转移的基础。系统需要定期检测各组件的健康状态,及时发现故障并触发转移。 java // 多维度健康检查 @Component public class HealthChecker { private final Map<String, He...

⏱ 2m 高可用故障转移健康检查脑裂

冗余设计

冗余设计 冗余的基本原则 冗余设计的核心思想是消除单点故障(Single Point of Failure, SPOF)。任何可能成为系统瓶颈的组件都需要进行冗余部署。冗余不等于简单的数量增加,需要考虑故障检测、自动切换、数据一致性等问题。 java // 无状态服务的冗余部署示例 @Compone...

⏱ 1m 高可用冗余设计热备冷备

灾备架构设计

灾备架构设计 RPO 与 RTO 指标 灾备设计的核心指标是 RPO(恢复点目标)和 RTO(恢复时间目标): - RPO:可接受的数据丢失量。RPO=0 表示不允许数据丢失,RPO=1h 表示最多丢失 1 小时数据 - RTO:可接受的服务中断时间。RTO=0 表示零中断,RTO=4h 表示最多中...

⏱ 1m 高可用灾备RPORTO

双活与多活架构

双活与多活架构 同城双活架构 同城双活是在同一城市部署两个数据中心,通过低延迟专线(通常 < 2ms)连接。两个数据中心同时对外提供服务,数据通过同步复制保持一致。 ┌─────────────────────────────────────────┐...

⏱ 1m 高可用双活多活数据同步

高可用架构设计

高可用架构设计 故障域与多活部署 高可用架构的第一原则是识别并隔离故障域。故障域是可能发生故障的最小边界,包括硬件故障、网络分区、数据中心宕机等。通过将服务部署在不同故障域中,可以确保单一故障不会导致整个系统不可用。 yaml Kubernetes 多区域部署示例 apiVersion: apps/...

⏱ 1m 高可用架构故障转移多活