事件驱动
2022-03-16 10:52:11 7 举报
hhh
作者其他创作
大纲/内容
3.收到请求后,redis做预减库存,如果库存已经到达临界值的时候,就不需要继续请求下去,直接返回失败,即后面的大量请求无需给系统带来压力
消息队列
2.使用redis做缓存,在秒杀开始前将商品信息提前从mysql传入redis中
websocket前后端间通信协议
服务端
直接给前端一个message(没有库存)
vip用户
给前端一个秒杀成功的信息
1.客户端点击了秒杀,将uid,goods_id等数据传输到server
普通用户
redis
mysql
返回给前端一个message(排队中)
ActionMQ
7.服务器监听前端的请求,有消息传过来就执行秒杀事务(秒杀事务是一个原子操作:库存减1,下订单、写入订单详情)8.返回给前端一个秒杀成功的消息。
j
客户端层
ningx负载均衡
5.将不同用户的请求分入不同的消息队列或者消息主题,同时给前端返回一个code (0),即代表正在排队中(返回的并不是失败或者成功,此时还不能判断)
秒杀页面
服务端层
4.根据用户uid进行分类,分为普通用户,vip用户
0 条评论
下一页