1 架构设计(一)
1 1 目录1 2 高可用设计1 3 性能优化目标中间这块为目标区域1 4 高并发设计1 5 代码层次优化1 6 数据库层次
1. 架构设计(一)
1.1. 目录
1.2. 高可用设计
1.3. 性能优化目标
- 中间这块为目标区域
1.4. 高并发设计
1.5. 代码层次优化
1.6. 数据库层次优化
1.7. 算法逻辑优化
1.8. 架构层次优化
1.9. 秒杀系统架构
1.10. 分级缓存
1.11. 类似微博的存储选型
1.12. 服务无状态化设计与实现
1.13. 服务幂等设计与实践
1.14. 分布式锁设计与实践
- 分布式锁需要用CP模型,保证一致性,如果用redis来做,主从的时候肯定会存在问题,因为redis主从是AP模型。严格来讲需要用一个CP模型来解决分布式锁问题
1.14.1. 分布式锁选型和方案
1.14.2. 客户端模式
1.14.3. 申请锁
1.14.4. 申请锁,已被持有
1.14.5. 删除锁
1.14.6. 业务接入
1.14.7. 获取锁平均耗时监控
1.14.8. etcd兼容性、恢复和版本
1.14.9. 分布式锁的特殊场景
- 也就是说,分布式锁并不能保证幂等性
- 网络问题导致的续租失败,或者gc时间过长,导致的服务暂停时间过长