隐藏通道是使用zookeeper比较容易犯的一个错误。
问题描述:
客户端A操作后,客户端B才可以操作,两者具有依赖性。
A操作了zookeeper后,然后通知B去读zookeeper中的状态。
但是有可能A的操作还没有及时更新zookeeper,B已经读取了值,这个值是错误的。
问题原因:
A直接通知B
解决方案:
B监控A操作的zookeeper节点,直接与zookeeper交互。
总结:
所有有关zookeeper的状态,都必须与zookeeper直接交互获取,而不能通过隐藏通道(第三方通道)交互。