架构师训练营 - 第⑨周命题作业
请简述 JVM 垃圾回收原理。
设计一个秒杀系统,主要的挑战和问题有哪些?核心的架构方案或者思路有哪些?
挑战和问题:
短时间内访问量暴增,超出服务器常规能力太多、软硬件和宽带不能支持
同时大量的请求可能导致整个系统崩溃,其他业务躺枪
秒杀器问题,控制库存与开始时间,避免商品超卖和盗卖
时间紧任务重,不可能通过堆积大量硬件来实现,也不可能通过长时间整体系统的改造升级来实现
解决思路
根据需求规划软硬件和宽带需求
系统及软硬件优化
隔离策略:秒杀带来的流量短时间内暴增,为避免拖累其他业务,需要对其进行隔离,提供单独的服务用于支持秒杀业务。从静态文件域名、文件服务器、到后台服务、数据库等整个系统单独隔离部署。
隔离的内容:秒杀的流量集中在入口页面(秒杀商品列表)、秒杀商品详情页面、下单页面三个页面。他们需要隔离部署到新服务。
并发控制-流量层层过滤:根据业务设计进行流量过滤,只放一部分流量进入秒杀系统
页面静态化:定时推送到CDN服务器,避免直接访问系统
功能简化:砍掉不重要的流程,提高响应速度
秒杀器预防:下单URL随机、秒杀前两秒放出、访问次数限制
服务降级:保住核心业务,其他服务降级处理
万能出错页面:302跳转到秒杀活动已结束页面
评论