2015-12-02 4 views
1

Я работаю над SOA POC с последних нескольких дней. Для обнаружения службы & реестр, мы рассматриваем Консул. Как только мы зарегистрировали услуги в консуле, как мы должны отслеживать статус зарегистрированных услуг? Мы реализуем вещи на платформе .net, где некоторые службы wcf размещаются на разных приложениях, некоторые в отдельном консольном процессе. Мы можем отслеживать услуги двумя способами.Как отслеживать службы, зарегистрированные в сервисе регистрации и открытия службы SOA

  1. Прослушивание портов с использованием гнездового соединения с биениями.
  2. Обработка выгрузки приложения домена & события выхода консоли.

A. Есть ли другой способ справиться с этим сценарием?

B. Как мы можем получить уведомление, когда процесс консольного приложения заканчивается? procss может быть убит, закрыт и т. д. Как мы можем изящно удалить запись реестра службы из центрального репозитория Consul?

C. Прослушивание всех портов с определенным пульсом - это эффективный способ, так как он будет постоянно затягивать потоки?

Любая помощь с наибольшей оценкой?

ответ

1
  • A. Вы можете следить за здоровьем своих услуг, используя любой из проверок определяются here
  • B. Для того, чтобы корректно удалить службу из консула, вы можете сделать this http call для местного консула агента. Я предлагаю добавить это к логике закрытия вашего сервиса. Если вы хотите, чтобы консул дал вам какое-то предупреждение, когда ваше служение опускается, вы можете использовать Watches

  • C. Проверки здоровья выполняются с заданным интервалом. Таким образом, вы определяете интенсивность проверок . Например: каждые 30 секунд

+0

можно ли написать проверки для служб wcf с протоколами net.tcp? URL будет как net.tcp: // localhost: 7002/MyService – 107

+0

В этом случае вам придется использовать либо скрипт, либо проверку типа TTL. При использовании TTL-чеков: ваша служба будет делать http-запрос вашему местному агенту консула, чтобы консул знал, что он (служба) все еще жив. – Brrrr