01
容错基础
什么是容错?为什么交易系统需要容错?常见的故障类型(网络中断、硬件故障、软件崩溃、数据不一致)。
故障分类基础概念
02
恢复基础
什么是恢复?RTO(恢复时间目标)与RPO(恢复点目标)的概念。
RTORPO
03
系统架构冗余
主从架构、多活架构、异地多活架构的对比与选择。
高可用多活
04
心跳检测机制
TCP Keep-Alive、应用层心跳、超时重试策略。
健康检查超时
05
断路器模式
熔断、半开、关闭三种状态,以及Hystrix/Resilience4j在Python中的实现思路。
熔断Python
06
重试机制
指数退避、抖动、最大重试次数、幂等性保证。
退避幂等
07
超时控制
连接超时、读取超时、写入超时,以及如何设置合理的超时值。
超时策略调优
08
限流与降级
令牌桶、漏桶算法,以及服务降级的策略。
限流降级
09
数据一致性
CAP理论、BASE理论、最终一致性在交易系统中的实践。
CAPBASE
10
事务补偿
Saga模式、TCC模式在分布式交易中的应用。
SagaTCC
11
日志与审计
操作日志、错误日志、交易流水日志的设计与存储。
审计持久化
12
检查点与快照
定期保存系统状态,用于快速恢复。
快照恢复
13
消息队列容错
Kafka/RabbitMQ的ACK机制、死信队列、消息重投。
MQ死信
14
数据库容错
主从复制、读写分离、连接池健康检查、自动故障转移。
主从故障转移
15
缓存容错
Redis哨兵模式、集群模式、缓存穿透/击穿/雪崩的应对。
Redis缓存雪崩
16
网络容错
多网卡绑定、DNS故障转移、CDN容错。
网络DNS
17
进程管理
Supervisor/Systemd的进程守护与自动重启。
守护进程Systemd
18
容器化容错
Docker的健康检查、Kubernetes的Liveness/Readiness探针。
K8s探针
19
配置中心容错
配置热更新、本地缓存配置、配置中心故障降级。
配置中心降级
20
服务发现容错
Consul/Eureka的健康检查与故障剔除。
服务发现健康检查
21
灰度发布与回滚
蓝绿部署、金丝雀发布、快速回滚策略。
灰度回滚
22
压力测试与混沌工程
通过Chaos Monkey等工具主动注入故障,验证系统韧性。
混沌韧性
23
监控与告警
Prometheus + Grafana监控指标设计,告警规则与通知渠道。
Prometheus告警
24
故障演练
定期进行故障模拟演练,制定应急预案。
演练预案
25
数据备份与恢复
全量备份、增量备份、异地备份、数据恢复验证。
备份异地
26
代码层面的容错
防御性编程、断言、异常捕获与处理的最佳实践。
防御性异常处理
27
单元测试与集成测试
针对容错逻辑编写测试用例,模拟各种故障场景。
测试模拟故障
28
容错系统的性能考量
容错机制带来的额外开销,如何平衡可靠性与性能。
性能开销
29
案例分析
某知名交易所的宕机事件复盘,以及他们后续的容错改进。
宕机复盘改进
30
总结与最佳实践
构建高可用交易系统的Checklist,以及持续改进的方法论。
Checklist方法论