写点什么

架构师训练营 week09 作业

用户头像
Frank Zeng
关注
发布于: 2020 年 08 月 05 日

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

主要挑战或者问题:

1) 响应要快,无论如何,尽可能的要快速响应用户.

2) 并发量过大,有可能带来系统的高并发引起的雪崩等情况.

3) 超买超卖问题,由于高并发可能带来数据的不一致问题.

4) 防作弊, 防止一个用户发送多次请求,或者一个IP登录多个用户秒杀的情况.



针对以上问题的解决思路是:

1) 响应快, 前端页面静态化, 引入CDN, 缓存加快处理速度,引入队列进行排队等候进行异步订单处理.

2) 并发量过大, 硬件方面: 加大带宽,加大服务器硬件性能等, 软件方面: 引入CDN, 服务端分层进行过滤拦截减少请求数, 引入队列进行削峰处理, 引入缓存, 数据进行拆分, 不相干数据进行剥离减少数据库的压力. 将业务进行水平拆分, 方便进行水平服务器压力扩容. 我认为数据读写分离,减少读库和写库的压力不符合秒杀的场景,很难保证读库和写库的实时一致性, 是一个增加并发量的思路.

3) 超买超卖的现象,需要加入强一致性锁, 如果是分布式系统,需要有分布式一致事务进行处理.

4) 防作弊,可以通过服务端请求进行拦截过滤掉.

用户头像

Frank Zeng

关注

还未添加个人签名 2018.09.17 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营week09作业