java吧 关注:1,292,774贴子:12,824,339

回复:今天遇到了一个面试题

只看楼主收藏回复

这和幂等性无关,接口调用顺序问题


IP属地:天津来自Android客户端18楼2023-03-02 08:49
回复
    啊,leetcode有过这题,我弄个类变量记录当前执行状态就完了


    IP属地:丹麦来自Android客户端19楼2023-03-02 08:52
    收起回复
      2025-12-27 23:00:16
      广告
      不感兴趣
      开通SVIP免广告
      既然要求顺序abc执行,那不就是顺序队列么,做好一步往下个队列里塞,每个接口的入口都是监听队列,出口是往下个队列里发消息。服务只管接消息做事,什么时候该做什么由总线控制


      IP属地:江苏来自iPhone客户端20楼2023-03-02 09:22
      回复
        这问题就是考幂等性,顺序执行靠业务逻辑就可以控制
        幂等性可以生成一个Token、Id或者某个唯一的任务值,结合Redis,将Token值放到Redis中,每次执行如果在B和C中查到这个值,说明已经执行了一样的任务,就不继续执行


        IP属地:山东21楼2023-03-02 09:24
        回复
          这么直白的逻辑,直接套娃调用就完了


          IP属地:辽宁来自Android客户端22楼2023-03-02 09:32
          回复
            用CompletableFuture串行执行abc


            IP属地:北京23楼2023-03-02 09:48
            收起回复
              我看到这题目第一反应是信号量控制执行,或者是分布式调用,或者是异步编排,3者之一吧


              IP属地:浙江来自Android客户端24楼2023-03-02 10:07
              回复
                帮你问的


                IP属地:广东来自Android客户端25楼2023-03-02 11:34
                收起回复
                  2025-12-27 22:54:16
                  广告
                  不感兴趣
                  开通SVIP免广告
                  把3个接口放到一个方法里调用不就好了


                  IP属地:广东来自Android客户端26楼2023-03-02 12:04
                  回复
                    为什么没人说事务,我怎么感觉只要一个事务就能控制了


                    IP属地:湖北来自Android客户端27楼2023-03-02 15:39
                    收起回复
                      completableFuture保证执行顺序,幂等性用redis保证


                      IP属地:广东来自Android客户端28楼2023-03-02 17:20
                      收起回复
                        谁要这么问我,我能和他聊一下午 。咱好好聊聊业务场景,为什么这么做,更好的实现方式是什么 。


                        IP属地:辽宁来自Android客户端29楼2023-03-02 20:53
                        回复
                          不能理解,要保证幂等就让abc各自内部保证呗,总不能说幂等依赖于调用顺序吧


                          IP属地:浙江31楼2023-03-03 10:15
                          回复
                            这么理解可以吧,一个活动只有100份,一万人抢,a接口按顺序入队,b接口监听a队列执行扣费,成功扣费+1,入库存队列,库存队列大于100本次抢单结束!接口c监听库存队列执行扣库存!


                            来自Android客户端33楼2023-03-03 16:03
                            回复
                              2025-12-27 22:48:16
                              广告
                              不感兴趣
                              开通SVIP免广告
                              加锁


                              IP属地:浙江来自Android客户端34楼2023-03-03 17:30
                              回复