今天在写订单服务时,涉及到库存的增减 一.存在线程安全问题 基本逻辑是从数据库查到商品库存,判断是否>=数量,然后判断是否减库存。存在线程安全问题。 解决办法 1.加锁 (性能变差,还只能通过一些手段加分布式锁) 2.不加锁,在sql语句里面添加判断,在代码逻辑上取消掉逻辑判断,不用加锁,也能解决线程安全问题。 二.同步减库存和异步减库存 存在分布式事务回滚问题