高并发秒杀电商系统分析与设计原则

什么是电商

传统买东西
消费者->>门店选择商品–>>付款—>发票
网上买东西
B2B:用户->>商品->>订单->>支付 , 卖一种商品
B2C:用户->>商家->>商品->>订单->>支付
个人电商
平台电商

什么是秒杀

买票可以秒杀,抢红包也可以秒杀,网上购物也可以秒杀,场景较多

在有限的时间抢有限的资源。

1秒秒杀–》1分钟秒杀–》1小时秒杀 --》1天秒杀
用户->>商品->>订单->>支付
用户->>秒杀商品(时间限制)->>订单->>支付

秒杀商品属于商品营销类型

商品营销类型: 普通商品、秒杀商品,团购商品、分销商品、砍价商品

可以分离出 秒杀模块,时间模块

电商系统–》秒杀项目

什么是高并发系统

单个秒杀项目处理请求的数量是有限的,所以进行更多秒杀需要进行秒杀项目集群。
客户端的请求数量的无限的。
单个服务器的最大请求数量如何计算?

解决系统出现并发问题的方案是无限优化的过程。

超过单体项目的承受量 就叫做高并发系统,

亿级流量,千万级流量 是指1天的用户请求数量
高并发处理能力,就是服务器并发能力,1秒之内能够处理的请求数量

如何设计高并发秒杀系统

高并发设计原则
达到横向扩展和动态扩展的目的
拆分原则,先大后小

  • 系统角度,按照系统功能或业务拆分,比如,电商系统,商品,支付,订单,用户
  • 功能角度,比如,商品,添加,删除,批量更新等
  • 读写拆分,比如, 商品读系统,商品写系统,读流量较大,写流量较小

无状态原则

  • 读商品的系统,进行横向扩展,分流,
  • 无状态服务+有状态配置,比如 缓存配置,配置中心,防止硬编码,方便系统扩展

服务化原则

  • 单机不行是否可以集群,使用nginx是否可以进行负载均衡

消息队列

  • 解耦,异步,限流,

缓存原则

  • 本地缓存 , 内存缓存,和进程同生死, 比如 字典
  • 本地分布式缓存,内存缓存,进程共享,但是内网访问,比如字典+redis(内网)
  • 分布式缓存,内存缓存,进程共享,但是外网访问,比如字典+redis(外网)

异步并发化原则
async ,await 实现异步操作, 比如展示数据

可用技术,框架,工具

  • 微服务
  • webapi
  • aspnetcore
  • restful
  • 缓存
  • 消息队列
  • 限流
  • nginx
  • docker
  • k8s
  • 服务治理
  • identityserver4
  • jmeter
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值