zookeeper 分布式锁 问题描述:
线程A获取锁成功,执行逻辑方法action(),线程B获取锁失败,跳过逻辑方法action()不执行,锁监听watcher监听到A释放了锁,B尝试获取并获取成功,此时怎么再次触发线程B调用Action()?
前提:
逻辑方法是在集群服务器【多台】,zookeeper 分布式锁服务在另一台服务器
问题如上,目前我能想到的方法:
新建一个回调函数callback(),将线程B调用Action的方法参数及该回调函数地址传给zookeeper加锁服务,作为对象参数,等Watcher通知获取锁后,调用该回调函数再次进行Action()方法的调用
疑惑:
觉得我的这个方法非常low,一点都不灵活,想咨询各位segmentfault大神,有没有用过分布式锁服务遇到过类似场景的问题,辛苦给个最佳实践,不胜感激
手掌心
相关分类