问答详情
源自:4-2 极致性能的扣库存服务如何实现

本地减库存环节是否也存在并发问题?

今天面试遇到这么一个问题,在视频所讲的架构下,面试官提出这样一个疑问:“本地减库存环节一定也存在并发问题,能解决吗?”。我的理解是请求并发过来,同时获取本地已售数量self::$APCU_LOCAL_USE,那么apcu_inc(self::$APCU_LOCAL_USE);对于这些并发请求也都会得到相同的+1的结果,这样实际上放过去的流量就不止100了,会存在这样的可能吗?是否有必要解决呢?请问该怎么解决呢?

提问者:慕粉1120538534 2021-05-25 21:59

个回答

  • 皮奇
    2021-07-14 15:23:10

    这是个好问题,可以flock函数加一个非阻塞的文件锁,抢到锁的用户去减本地库存;