部分内容来源于许令波老师在网上的分享,这里是我做的一些笔记:

秒杀主要解决两个问题:

  • 一个是并发度
  • 一个是并发写

秒杀系统的整体架构原则:

  • 高性能
  • 一致性
  • 高可用

秒杀系统应该注意的架构原则:

  • 数据要尽量少
  • 请求数据
  • 响应数据
  • 压缩数据
  • 编码数据
  • 序列化数据
  • 请求要尽量少
  • 数据请求
  • 资源请求
  • 三次握手
  • DNS解析
  • 合并请求
  • 路径要尽量短
  • 依赖要尽量少
  • 系统分级依赖( 高可靠性分级尽量不要依赖低可靠性系统 )
  • 不要有单点
  • 应用无状态
  • 参数配置化
  • 配置中心

架构改造:

  • 独立部署
  • 独立集群
  • 独立缓存
  • 秒杀答题防作弊
  • 动静分离(不用每次刷新整个页面)
  • 本地缓存(一般是静态数据)
  • 限流保护

瓶颈:

  • 10W级别加缓存
  • 100W级别 还需要考虑网络因素