秒杀场景设计和优化

本文介绍了秒杀场景的设计和优化策略,包括提升QPS的方法,如多线程、增加连接数和服务无状态;动静分离以减少数据库查询;以及锁的优化,通过降低锁粒度避免资源浪费。此外,还探讨了流量削峰的解决方案,如利用消息队列进行非即时响应业务的流量控制。
摘要由CSDN通过智能技术生成

一、提升qps的方式

  1. 提升并发数
    • 能用多线程就用多线程
    • 增加各种链接数:(tomcat、mysql、redis)等等
    • 服务无状态,便于横向扩展、(比如扩机器)
    • 让服务能力对等。(比如负载均衡,保证每个服务的请求数量都是一样的。)
  2. 减少响应时间
    • 优化查询语句
    • 该使用缓存就加缓存

二、秒杀场景优化

秒杀要保证

  1. 准:不多卖,不少卖,
  2. 快:服务响应速度要快。
  3. 稳:服务的高可用
2.1、动静分离

我们在进行抢一个商品的时候,我们的商品详情页是不是有商品的名称什么的。

我们可以把商品的静态信息,放到缓存里面,商品的价格等等,我们去查询数据库。

能不查询db,就尽量不去查询db

2.2、锁的优化

秒杀场景我们一般是通过去加锁的方式来控制不多卖。
假如我们现在要卖100个电脑

2.2.1 传统的加锁场景

在这里插入图片描述
如果这样的话,我们就可能会导致少卖,比如一下来了1000个请求,去抢这100台电脑,就会导致在某一瞬间,用户不抢了&

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

往日时光--

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值