秒杀系统面试-2020

1、秒杀的特点

  • 瞬时并发量大
  • 库存量少
  • 业务简单

2、技术难点

高性能

  • 并发读写
  • 动静分离
  • 限流削峰

一致性

  • 防止超读

高可用

  • 独立部署
  • 防止雪崩
  • 最坏方案

3、秒杀架构设计思路

  • 限流
  • 降级
  • 削峰填谷
  • 异步处理
  • 内存缓存

4、秒杀架构设计——前端

  • 页面静态化(动静分离)
  • Web Server 单独部署
  • 静态数据缓存
    • CDN
    • 浏览器
    • 服务端缓存
  • 数据压缩合并
    • css、js压缩
    • 合并成一个文件、解析称为一个url
    • 图片压缩
    • 禁止重复提交

5、秒杀架构设计——后端

  • 限流
    • 只有少部分用户能够秒杀成功,所以要限制大部分流量
    • 前端限流
    • 后端限流
  • 降级
    • 按照系统来区分级别(0~3),0级是强依赖
    • 极端情况下级别低的系统,做降级处理,保护核心系统
  • 削峰填谷
    • 把瞬间的高流量变成一段时间内平稳的流量,利用消息队列泄洪,把同步调用准换为异步调用
    • 分层过滤,(CDN、缓存)

你可能感兴趣的:(秒杀系统面试-2020)