写点什么

2 期架构师训练营 - 第九周作业与总结

用户头像
Vicente
关注
发布于: 2021 年 02 月 07 日

作业


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


秒杀系统主要的挑战是高并发和安全。

秒杀开始的时候在短时间内会涌进来非常高的流量,给系统带来极大的压力,设计不当的话可能会导致秒杀系统崩溃,严重的会出现服务雪崩,把业务系统也给搞垮。应对高并发的整体思路有以下几点:

  1. 秒杀系统独立部署,和原业务系统进行隔离,使用独立数据库

  2. 商品内容页面静态化和 CDN 缓存,减轻服务端的压力

  3. 在靠近用户侧的应用服务端对请求进行过滤和抛弃,避免压力冲到数据库

另一个挑战是安全,我们知道现在的羊毛党手段非常多,使用脚本自动化抢单已经是常规手段,这些作弊行为让普通用户根本无法抢得到商品,不利于实现我们的运营目的。安全方面我们可以切入的点有:

  1. 隐藏后端请求地址,只有在活动开始时前端/客户端才能拿到地址

  2. 针对用户级别进行限频(不适用 IP 级别,同一个 wifi 时会误伤)

  3. 提高业务门槛

学习总结


用户头像

Vicente

关注

还未添加个人签名 2008.09.18 加入

功不唐捐,玉汝于成

评论

发布
暂无评论
2 期架构师训练营 - 第九周作业与总结