更新 Zookeeper 中某个节点的 TTL
Renew TTL of a node in Zookeeper
我在 Zookeeper 上保留了一些配置,如果没有更新,一段时间后会过期。
通过使用 TTL,我可以做到这一点,但我如何更新 TTL?删除和添加节点是一个选项,但会产生不一致的状态。
setData(same data) or Op.check 更新节点的TTL?
提前致谢!
setData
会更新节点的TTL。
其实不是更新ttl,而是更新节点的mtime。在Zookeeper中,检查节点是否应该过期的方法是比较getElapsed
的return和配置的TTL
。 setData
将更新 mtime。
protected long getElapsed(DataNode node) {
return Time.currentWallTime() - node.stat.getMtime();
}
我在 Zookeeper 上保留了一些配置,如果没有更新,一段时间后会过期。
通过使用 TTL,我可以做到这一点,但我如何更新 TTL?删除和添加节点是一个选项,但会产生不一致的状态。
setData(same data) or Op.check 更新节点的TTL?
提前致谢!
setData
会更新节点的TTL。
其实不是更新ttl,而是更新节点的mtime。在Zookeeper中,检查节点是否应该过期的方法是比较getElapsed
的return和配置的TTL
。 setData
将更新 mtime。
protected long getElapsed(DataNode node) {
return Time.currentWallTime() - node.stat.getMtime();
}