庖丁解牛-多服务器并发场景下乐观锁的实际应用
笔者面临的一个业务场景为:项目中多条业务线的实现都需要创建一个实例ID(instanceID),实例ID的值为系统当前的实例ID最大值+1。这样就会面临着在同一时间下有多个用户更新实例ID,造成并发冲突的问题。
笔者首先想到的解决方法是使用关键字synchronized
来解决。但是组内同事提出光有synchronized
是不够的,因为synchronized
只能解决单台机器的JVM多线程并发问题,无法解决线上多台服务器分布式导致的并发问题。