2015-02-22 2 views
0

Я проектирую архитектуру, в которой все микросервисы сгруппированы. Например: 5 веб-серверов, 1 кластерный db, 1 кластерная система очереди, 8 кластерных рабочих (например, отправка электронной почты, отправка смс, ...), которые потребляют из очереди (задачи перенаправляются веб-сервером)Мониторинг кластера микросервисов (web, queue, db, ha proxy)

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

Все услуги сидят за nginx для ha proxy - должен ли он nginx отслеживать все и не удается? Как я могу проверить здоровье всех микросервисов?

ответ

0

Вы должны использовать службу внешнего мониторинга, такую ​​как Pingometer.

Это позволяет устанавливать простые проверки работоспособности (HTTP, HTTPS, Ping и т. Д.) Через регулярные промежутки времени и получать предупреждения, если узел выходит из строя, недоступен или не отвечает правильным контентом.

В вашем контакте вы можете настроить веб-чек, который запускается при отключении услуги. Вы можете использовать webhook для запуска восстановления после сбоя, изменения записей DNS и т. Д.

Мы настраиваем что-то подобное, и оно работает очень хорошо.

Вы также можете использовать что-то внутренне, чтобы самостоятельно контролировать сам nGinX (например, дешевле рабочих + респаривать их), но это не дает вам знать, что служба функционирует внешне (например, служба мониторинга).