我有很多服务连接到动物园管理员,我希望服务A可以获得服务B的IP,当服务B连接到动物园管理员时,有API可以吗?或者我必须使用其他配置文件来记录所有服务的IP?
发布于 2015-04-01 14:04:06
如果这解决了您的问题,请看一看:http://curator.apache.org/curator-x-discovery/
动物园管理员不提供开箱即用的服务发现,但很容易自己实现。
您将无法直接从Zookeeper获取其他连接客户端(在您的情况下是服务)的IP地址。为了获得连接到集群的其他服务,每个服务必须在特定路径(例如/services )下单独创建一个临时znode,并将必要的寻址和命名信息设置为znode的数据(IP、端口等)。通过这种方式,您可以列出该路径并发现活动服务,或者查看/services路径以查看服务配置中的任何更改。
由于服务正在创建临时节点,因此一旦断开连接并会话过期,它们将自动被移除。当然,一旦你开始做这样的事情,你会发现有许多小细节和设计决策,你必须作出,因此,已经提到的策展人食谱。
https://stackoverflow.com/questions/29382787
复制相似问题