架构师训练营 Week 9 [命题 + 总结]

用户头像
莫莫大人
关注
发布于: 2020 年 08 月 05 日
架构师训练营 Week 9 [命题+总结]

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

主要的问题和挑战:

  1. 影响网站其他业务

针对秒杀商品的高并发请求使得网站其他请求的响应变慢。

Solution: 秒杀页面使用独立的域名,与网站日常部署隔离开来。



  1. 对数据库的负载压力

大量用户请求对于网站数据库的同时访问,会对数据库服务器造成负载压力。

Solution: 秒杀页面内容以静态为主,内容尽量存储在用户本地缓存或者CDN服务器中。秒杀开始后设置多层过滤,最终只有部分请求到达数据库。其他用户返回“秒杀结束”页面。



  1. 突然增加的网络及服务器带宽

相对于网站日常访问量而言,忽增的用户访问量使得日常带宽无法满足秒杀需求。

Solution:静态秒杀页面及CDN的使用可以缓解网站带宽的消耗。



  1. 秒杀器

秒杀器循环尝试下单页面的URL使得商品在秒杀开始前可能就被拍走。

Solution:后台在秒杀开始时再随机生成下单页面的URL,通过JS文件返回通知前台。



学习小结:

  1. JVM

JVM是Java Virtual Machine(Java虚拟机)的缩写,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。由一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域等组成。JVM屏蔽了与操作系统平台相关的信息,使得Java程序只需要生成在Java虚拟机上运行的目标代码(字节码),就可在多种平台上不加修改的运行,这也是Java能够“一次编译,到处运行的”原因。

Overview of a Java virtual machine (JVM) architecture based on The Java Virtual Machine Specification Java SE 7 Edition



  1. 秒杀

如命题作业的分析



用户头像

莫莫大人

关注

还未添加个人签名 2018.07.31 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营 Week 9 [命题+总结]