写点什么

架构师训练营第 9 周课后练习

用户头像
菜青虫
关注
发布于: 2020 年 12 月 20 日

设计一个秒杀系统,主要的挑战和问题有哪些?核心的架构方案或者思路有哪些?


  • 主要问题

  • 高性能

  • 一致性

  • 高可用

  • 架构原则

  • 请求数据尽量少 - 包括用户上传给系统的数据和系统返回给用户的数据

  • 请求数量尽量少 - 浏览器的每个请求都会消耗资源和时间,如 TCP 三次握手、HTTP 连接数限制、DNS 解析等

  • 请求路径尽量短 - 缩短请求路径可以增加可用性,也可以提升性能和减少延迟

  • 系统依赖尽量少 - 对秒杀不重要的依赖在紧急情况下可以去掉

  • 架构方案

  • 系统隔离

  • 申请单独的域名,独立部署在不同的集群,尽量减少对现有系统的影响

  • 动静分离

  • 采用 JS 自动更新技术将动态页面转化为静态页面

  • 把静态页面请求转移到 CDN

  • 流量削峰

  • 限制进入秒杀页面请求做限制,流程越往后限制越严格

  • 用消息队列把直接调用转化成异步的间接推送


用户头像

菜青虫

关注

还未添加个人签名 2017.11.20 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第 9 周课后练习