写点什么

架构实战营毕业设计

用户头像
Saber
关注
发布于: 3 小时前

6.18 电商秒杀系统


一、系统分析

二、总体架构

系统整体采用微服务架构,按照业务域,对系统做一级的粗粒度划分,再在各业务域中根据不同的业务领域做更细粒度的二级划分。

三、缓存

因为系统用户量大,秒杀活动开始前后,会有大量的并发请求,为缓解后台服务器对静态资源的处理的压力,同时提高请求处理性能,采用多级缓存的缓存架构。

四、负载均衡

因为系统用户量大,估计在秒杀活动开始前,会有 400 万用户同时在线,秒杀活动开始时,服务器将面临巨大的并发流量,承担巨大压力。故而采用多级缓存架构。

五、存储

因采用微服务架构,不同业务领域已拆分微服务,各服务集群的数据库(MySql)采用读写分离、主从复制的存储架构。

同时,用户、订单等相关业务(与用户有直接关系的相关业务),采用分库分表架构,其他数据,如商品数据,采用统一库(数据中心/数据中台)进行管理。即整体类似单元化架构。


六、异地多活

虽然目前公司只有单机房,但是考虑到公司的用户量、业务范围等,在可预见的时间范围内(1-2 年)会有稳步的发展,借秒杀系统开发、上线的需求,为公司下一步发展做基础,故秒杀系统采用异地多活架构,机房分南北机房。机房间数据同步,分业务分别采用消息队列同步和数据库同步。



七、库存

秒杀系统最容易出问题的地方就是库存。本系统商品库存采用库存拆分的方式,让两个机房平均分配库存,当一个机房库存为 0 时,会去请求另一个机房的库存。

八、其他

1.系统秒杀瞬时并发量高,非秒杀活动时间,并发量平稳,为更好地保证后端服务器不被瞬时的高并发压垮,后端服务的不同层级或不同同级服务间的调用会有消息队列,上面架构图中粒度较粗,并未单独列出。

2.针对秒杀业务,会在各级服务中增加限流算法(如漏桶算法、随机失败等),架构图中未作列出,仅此处说明。

用户头像

Saber

关注

还未添加个人签名 2018.08.07 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营毕业设计