想起前阵被坑简历的经过。问道一个多JVM下如何同步的问题。
关于这个问题,我之前并没有想到多official的解决方法,于是告诉他,我们是如何做的。
如果是单机多JVM就放了文件lock.lock。每个jvm试着先获取文件锁。如果是多机上的jvm,就在memcached上放了个对象锁,每个jvm通过这个对象的状态判断同步状态。做这个东西的时候,也没多想,反正后来实现了功能,也运行的好好的。就没深入研究了。
后来在网上扒到的另外俩个解法
1.有人提到把lock放在database中,利用database的锁机制实现同步。
2.或者使用开源平台Terracota做集群平台