关于订单的讨论

  1. 订单要放队列的,或者直接redis
    最简单的方案,用队列,哪怕它1秒点击100万次,也不会造成订单逻辑错乱,队列保证了前后顺序,在订单支付后,或者取消后再做下一步操作,就不会出现订单逻辑锁定的问题。
    实际队列就是一种全局锁
    关于队列卡死问题:有很多分布式队列可以用的,比如rabbatmq
    例如:双十一的时候,所有请求都是扔到队列集群的,队列集群处理完毕后才会把处理结果发回,你完全可以分布式去搞多个业务处理,通过队列去弄,订单之间并不会阻塞,rabbitmq,activeMq,kafka,这些分布式队列就是搞这个的
    队列:消息队列两个主要功能,一个是全局锁,一个是分发,在现在高可用,高伸缩架构的设计里面,消息队里是根基,因为它的特性,可以把所有你需要隔离的全隔离开,并且单独处理负载,搭配上微服务,非常 nice

问题:虽然消息队列可以集群 可以分发 但是自己的业务系统为了防止出问题 还是要一个一个消息来处理 那消息队列集群性能再高 由于业务系统的问题 那不是还是慢
解答:现在我有一个订单的业务,我要做的,下单,验单,调用三方,然后订单入库,订单入redis,如果你用一个方法去写,没问题,这个时候如果,我把每一个步骤写一个服务,订单操作完这一步,把消息发到下一步队列,我并不用这个里是谁做的,那么这个时候,调用第三方会慢,这个队列阻塞很多请求,那么这个时候我再加两台服务器,挂上了第三方处理程序,调整队列分配模式为等量,这个时候你第三方调用就同时处理三个请求,如果我还是觉得慢,我加100个服务器也行但是对于我的业务,我的架构,丝毫没有影响,也不停止项目去更新

  1. 对前端最基本的要求,发起请求,禁用按钮,请求返回再启用按钮

每天学习一点点

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值