03认证业务架构设计之缓存
2025年7月4日大约 2 分钟
3 认证业务架构方案设计
3.1 如何解决缓存问题
分布式环境常用什么缓存
思考:
1.引入Redis解决什么问题。
2.目前现状应用场景是什么样的。
业务说法:少量登录注册,大量业务请求。
需要翻译业务术语到专业术语:
专业术语: 少量写入操作,大量读取操作。
缓存首先要考虑的点是 一致性,如何保证
弱一致性:D1 写DB D2 写cache D3 读cache
也就是持久化一定要成功;
强一致性:
四种方案:
- D1 写cache D2 写DB
- D1 写db D2 写cache
- D1 删cache D2 写db
- D1 写 DB D2 删cache
要思考: 时间+多线程 叠加 干D1 D2两件事时,如果有两个线程T1 , T2来做D1和D2,会出现问题。
在写DB和删除cache的先后方案中,这种方案应该是最好的方案。
要考虑:缓存的过期时间需要平摊到不同时间。
业务的容忍度
缓存失败如何应对
Redis 单点故障/集群/持久化
【单点问题应对之道】
自负冗分数
- 自动故障切换
- 负载均衡
- 冗余设计 -- 数据丢失
- 分布式设计 -- 拆在不同地方
- 数据备份和恢复 -- 出问题后恢复
分布式 解决什么问题:压力
集群 解决什么问题:能力
备份 解决什么问题:可靠
引申出来:
分布式/集群 : 有可靠性问题
分布式/备份:能力不足 最终选择它
集群/备份: 有压力问题
分布式/集群/备份: 完美
⭐ 分布式是每一部分干的不一样的事情;集群是一坨东西干一样的事情。
认证的架构形式:

在这个架构中,Redis00 存放的key和Redis01or02是不一样的,每一个Redis中的Key干的事情也不一样。