2015-04-13 2 views
0

Я действительно изучаю шаблон обнаружения службы, но я действительно не понимаю, как это работает.Схема обнаружения службы

Я прочитал статью, используя библиотеку с nodejs под названием etcd (http://lukebond.ghost.io/service-discovery-with-etcd-and-node-js/), и она кажется простой в использовании, как только установка шаблона url lile/my/service.

Тогда у меня есть несколько вопросов:

  • , как я могу получить доступ к этой услуге с другой nodejs приложения?
  • Как сделать, если я хочу получить доступ/my/service/something, зная, что он не определен в реестре службы, и что мы признаем, что я вообще не знаю API?

После прочтения этой статьи я попытался понять, как работает зоопарк. С этим, и с использованием стандартной библиотеки (https://github.com/yfinkelstein/node-zookeeper), я м столкнулась с проблемой:

  • , что значение, которое я должен установить? На самом деле, с zookeeper, нам кажется, что мы должны установить URL-адрес шаблона и значение. Что это за значение?
  • Каковы услуги детей с зоопарком? Какова цель этой концепции?

Спасибо за опережение все

Спасибо за заранее

ответ

1

Here хорошая статья о шаблонах обнаружения служб. Вот несколько стандартных моделей на основе ответов:

Как я могу получить доступ к этой службе из другого приложения nodejs?

инструмент обнаружения службы как etcd возвратит вас список конечных точек для обслуживания вам нужно. Смотрите пример here:

{ 
    "action": "get", 
    "node": { 
     "key": "/", 
     "dir": true, 
     "nodes": [ 
      { 
       "key": "/foo_dir", 
       "dir": true, 
       "modifiedIndex": 2, 
       "createdIndex": 2 
      }, 
      { 
       "key": "/foo", 
       "value": "two", 
       "modifiedIndex": 1, 
       "createdIndex": 1 
      } 
     ] 
    } 
} 

, как я могу сделать, если я хочу, чтобы получить доступ к/мой/услугу/что-то, зная, что он ы не определен в реестре услуг и что мы допускаем, я не знаю, вообще API?

Я думаю, что вы имеете в виду «что делать, если/my/service/something undefined»? В этом случае все зависит от логики вашего приложения. Я бы подумал, что разумным способом будет повторение, если вы ожидаете, что значение появится в какой-то момент.

Какова ценность, которую я должен установить? На самом деле с zookeeper кажется , что мы должны установить URL-адрес шаблона и значение. Что это за значение?

Значение - это то, что вы хотите, чтобы оно было там. С ZooKeeper вы можете использовать ephemeral nodes для каждого узла сервера. Вы можете хранить данные, необходимые для подключения к этому узлу внутри или просто ничего.

Каковы услуги детей с зоопарком? Какова цель этой концепции ?

Я думаю, что вы ссылаетесь на иерархическую структуру ZooKeeper ZNodes. Я думаю, что «дети» в этом случае будут всеми узлами, принадлежащими некоторому родителю. Например, для узлов/a/b/c и/a/b/d их родитель будет/a/b, и поэтому дети из/a/b являются/a/b/c и/a/b/d.

Надеюсь, это поможет.

Смежные вопросы