[英]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.