[英]Service discovery pattern
我实际上正在研究服务发现模式,但我并不真正了解它的工作方式。
我已经阅读了一篇文章,该文章使用的节点库名为etcd( http://lukebond.ghost.io/service-discovery-with-etcd-and-node-js/ ),使用起来似乎很容易,就像仅设置模式网址一样lile /我/服务。
然后我有一些问题:
阅读本文后,我试图了解Zookeeper的工作原理。 有了这个,并使用标准库( https://github.com/yfinkelstein/node-zookeeper ),我遇到了一个问题:
谢谢大家的进步
谢谢前进
这是一篇关于服务发现模式的好文章。 以下是一些基于标准模式的答案:
如何从另一个nodejs应用程序访问此服务?
诸如etcd之类的服务发现工具将为您返回所需服务的端点列表 。 在这里查看示例:
{
"action": "get",
"node": {
"key": "/",
"dir": true,
"nodes": [
{
"key": "/foo_dir",
"dir": true,
"modifiedIndex": 2,
"createdIndex": 2
},
{
"key": "/foo",
"value": "two",
"modifiedIndex": 1,
"createdIndex": 1
}
]
}
}
知道服务注册表中未定义/ my / service / something,并且我承认我根本不知道该API怎么办?
我认为您的意思是“如果/ my / service / something未定义该怎么办”? 在这种情况下,这完全取决于应用程序的逻辑。 我认为,如果您期望该值会在某个时候出现,那么将重试合理的方法。
我必须设置什么值? 实际上,对于Zookeeper,似乎我们必须设置一个模式url和一个值。 这个值是多少?
该值是您想要的任何值。 使用ZooKeeper,您可能希望对每个服务器节点使用临时节点。 您可以将需要连接到该节点的数据保留在内部,也可以什么也不保留。
带动物园管理员的儿童有哪些服务? 这个概念的目的是什么?
我认为您指的是ZooKeeper ZNodes的层次结构。 我认为在这种情况下,“子代”将是属于某个父代的所有节点。 例如,对于节点/ a / b / c和/ a / b / d,其父节点为/ a / b,因此/ a / b的子节点为/ a / b / c和/ a / b / d。
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.