Zookeeper中的节点名称限制

时间:2019-04-01 20:33:53

标签: apache-zookeeper

是否有任何有关Zookeeper节点名称限制的文档?我在官方文档中找不到任何相关内容。我特别想知道:

  1. 允许使用哪些字符?
  2. 我可以使用UTF-8中的任何字符(例如日语字符)吗?
  3. 节点名称的最大字符/字节数(如果有)是多少?

1 个答案:

答案 0 :(得分:0)

对于1、2 Any unicode character can be used in a path subject to the following constraints

  • 空字符(\u0000)不能是路径名的一部分。 (这会导致C绑定出现问题。)

  • 以下字符不能使用,因为它们不能很好地显示或以混乱的方式呈现:\u0001 - \u001F\u007F - \u009F

  • 不允许使用以下字符:\ud800 - uF8FF\uFFF0 - uFFFF

  • .字符可以用作其他名称的一部分,但是...不能单独用于指示路径上的节点,因为ZooKeeper不会不要使用相对路径。以下内容将无效:/a/b/./c/a/b/../c

  • 令牌zookeeper被保留。

PS:源代码:PathUtils.validatePath()

对于3 :实际上,ZK本身对名称的长度没有限制,但是建议不要使用太大的名称(例如,ZK将整个数据存储在内存中以提高效率)