• Victor
    2019-10-28
    秒杀场景,使用消息队列的话,怎么保证秒杀产品不超卖,这块计算逻辑是怎么处理的?

    作者回复: 其实方法无非有几种:
    1. 使用锁的方式,比如分布式锁,也可以利用redis本身操作原子性的特点
    2. 写入消息队列,在消息队列中做减库存的操作,做异步校验

     4
     14
  • 啊啊啊哦哦
    2019-10-28
    用户如何知道结果轮循查询。还是长连接通知

    作者回复: 轮询查询耗费系统资源。简单的思路是电商系统一般会支持系统通知功能或者私信功能,可以给用户发一个私信:)

     5
     9
  • longslee
    2019-10-28
    打卡。太棒了,终于来到了消息队列环节。据说,有一种处理秒杀方式,是随机让一部分用户直接失败23333.
    
     8
  • Kean
    2019-11-08
    比如1000件商品 系统生成1000个令牌 拿到令牌的用户可以进入消息队列,其他未拿到令牌的直接返回已抢完,这种方式是否可以?

    作者回复: 可以的

     3
     6
  • jun.hai
    2019-12-04
    老师您好,请教个问题:就是前面同学提到的在秒杀场景一下保证产品不超卖方案用redis的原子性特点,那么这个原子性在客户下单的时候用还是支付成功后才能用到?如果客户下单的时候用了redis的原子性减库存了,一旦客户不支付后取消订单了,这时候怎么处理已减掉的库存问题呢?谢谢

    作者回复: 我理解是在下单的时候,如果不支付,一般可以设置一个定时器,定时器时间一到,就把库存加上,同时定义订单失败

    
     5
  • 撒旦的堕落
    2019-10-28
    负责过课程建设系统 由于课程对于一家教育网站是属于基础数据 所以课程的修改 比如增加了 一个章 需要通知课程审核系统 作业考试 视频学习 日志记录 在线大学等系统 用消息系统替换了rpc调用 降低了系统的响应时间 降低了系统之间的耦合 提升了系统的可维护性
    
     4
  • 何磊
    2019-11-21
    请教两个问题:
    1. 由于秒杀数量是有限的,那么假如商品只有1000,队列满1000后,其他请求是否应该直接拒流呢?
    2. 用户请求入队列后,为了及时反馈结果,前端会不断轮训查询结果。查询的读求情也会消耗资源,这部分是采用缓存策略还是结合读写访问不同业务机器来处理呢?
     2
     2
  • Geek_Lee
    2019-10-29
    看过很多都是关于设计如何缓存,如何hash一致性分库分表等,,但是没有见过讲解服务容器等需求,,,希望老师能给我解答下,,比如说:10000QPS 需要多少台服务器,,需要多少tomcat类似等容器等 我的理解是 请求最终都会到达容器吧,容器扛不住,,上层设计的完美好像也不能完全解决??? 老师能帮我解答下吗??谢谢

    作者回复: 这个要看业务的复杂度,业务比较轻量的话,单台服务器抗2000qps没有问题,如果因为中有大量io请求,可能也就300-400qps,不能一概而论

     2
     2
  • SPxiaomin
    2019-11-21
    秒杀系统消息处理机处理了之后,怎么通知客户端服务的?另外建立个结果队列吗?由客户端轮训拉取?
     1
     1
  • 蓝魔丶
    2019-10-29
    数据同步、消息系统、短信系统、日志系统、事件广播等
    
     1
  • 旅途
    2019-10-29
    老师,用户是怎么得知结果的呢?
    
     1
  • stg609
    2019-10-28
    老师,有没有哪节课会介绍下 在分布式高并发"写"的时候,可能遇到的问题及解决思路?
    比如如何既保证数据的正确,又做到高性能? 比如分布式锁的利弊?actor模式的利弊等
    
     1
  • Bang
    2019-10-28
    秒杀场景使用了,消息队列,那么前端如何得获得秒杀结果呢?
    消息队列的消费者,如何编写比较好, 是一个死循环监听程序吗?

    作者回复: 1. 可以使用产品的功能来通知,比如私信
    2. 是的,是一个死循环的程序

    
     1
  • 见哥哥
    2019-10-28
    解耦,异步,削峰!
    感谢老师的分享,谢谢!

    作者回复: :)

    
     1
  • 骑上我心爱的小摩托
    2020-02-01
    要是每一章都有代码就好了

    作者回复: 有些章节代码不太好加

    
    
  • 张珂
    2020-01-21
    老师,秒杀场景下采用队列的话,那么入队性能必须要好一点,我想问一下这里用Redis的队列OK吗?如果不行的话就采用分布式,但不能超卖,那就得去加锁,那么问题又来了,加锁怎么设计,达到要求的加锁性能?

    作者回复: 是可以的

    
    
  • ちよくん
    2020-01-19
    秒杀的MQ其实可以类比计算机CPU处理速度大于主存而中间加了一层高速缓存!

    作者回复: 是的

    
    
  • 大爷是个码农
    2019-12-30
    按照一定的比例,过滤流量。
    
    
  • Ricky Fung
    2019-12-23
    消息队列的应用场景:1.流量削峰(秒杀系统),2.异步处理(非核心流程异步处理 提升效率),3.系统解耦(用户下单后增加积分、通知仓储服务发货)。常用的消息中间件有rabbitmq、kafka、rocketmq。

    作者回复: 赞~

    
    
  • 长期规划
    2019-12-21
    我理解这个解耦是为了提高整个系统的可用性。是指将业务系统的耦合转为业务系统与消息队列的耦合。即将多个系统的耦合转为对单一系统的耦合,而且这个单一系统没有业务逻辑,只存储。这两点可大大提高系统的可用性。不解耦的话,系统的可用性=A可用性 x B可用性 x C可用性... ,只要一个子系统不可用,整个系统就宕机了。解耦后只有所用子系统都不可用时,整个系统才不可用。

    作者回复: 可以这么理解~

    
    
我们在线,来聊聊吧