部分内容来源于许令波老师在网上的分享,这里是我做的一些笔记:
秒杀主要解决两个问题:
- 一个是并发度
- 一个是并发写
秒杀系统的整体架构原则:
- 高性能
- 一致性
- 高可用
秒杀系统应该注意的架构原则:
- 数据要尽量少
- 请求数据
- 响应数据
- 压缩数据
- 编码数据
- 序列化数据
- 请求要尽量少
- 数据请求
- 资源请求
- 三次握手
- DNS解析
- 合并请求
- 路径要尽量短
- 依赖要尽量少
- 系统分级依赖( 高可靠性分级尽量不要依赖低可靠性系统 )
- 不要有单点
- 应用无状态
- 参数配置化
- 配置中心
架构改造:
- 独立部署
- 独立集群
- 独立缓存
- 秒杀答题防作弊
- 动静分离(不用每次刷新整个页面)
- 本地缓存(一般是静态数据)
- 限流保护
瓶颈:
- 10W级别加缓存
- 100W级别 还需要考虑网络因素