我不明白我应该如何连接到ZooKeeper集合而不是独立服务器。从我看到API期望单个连接字符串 - 到单个服务器!但是如果这个特定的服务器出现故障,整个整体仍在运行中呢?我应该事先知道所有节点并按顺序尝试吗?
我在C ++和.NET应用程序中使用ZK,但我认为这在概念上并不重要。
谢谢!
答案 0 :(得分:0)
应该更仔细地阅读documentation :)这样做的方法是将所有服务器列为连接字符串的一部分,如文档中所述:
要创建客户端会话,应用程序代码必须提供 连接字符串,包含逗号分隔的host:port列表 对,每个对应一个ZooKeeper服务器(例如" 127.0.0.1:4545" 或" 127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002")。 ZooKeeper 客户端库将选择一个任意服务器并尝试连接到它。 如果此连接失败,或者客户端断开连接 服务器因任何原因,客户端会自动尝试下一个 列表中的服务器,直到(重新)建立连接。