这是 Beta 探索课程,内容结构、实验步骤和示例可能会继续调整。
缓存与消息同步
缓存不一定强同步
缓存不一定要强同步,很多可以在切换后回源重建。真正需要关注的是:
- 缓存是否承载会话或关键状态?
- 缓存丢失后数据库是否能承受回源压力?
- 备用机房是否需要提前预热热点数据?
如果缓存不可用会导致雪崩,容灾预案里要包含限流、降级和预热。
消息在切换中的问题
消息系统在容灾中容易出问题。切换时可能出现:
- 消息在主机房已写入但未同步。
- 备用机房重复消费。
- 消费进度不一致。
解决思路:幂等
解决思路是让消费端具备幂等能力,并保存业务侧处理状态:
- 每条消息带全局唯一 ID。
- 消费端按 ID 去重,重复投递只处理一次。
- 容灾切换后,即使消息重复投递,也不能导致重复扣款、重复发货或重复通知。
一句话
缓存可回源重建,但要防雪崩(限流、降级、预热);消息要幂等消费 + 保存处理状态——重复投递也不能导致重复扣款、重复发货。
发现内容有问题?
告诉我们哪里需要改进。
