В архитектуре микросервисов я хотел бы обнаруживать и генерировать предупреждение на основе порогового значения, когда служба выходит из строя. Мне было интересно использовать для каждого микросервиса на стороне клиента автоматический выключатель для отправки информации при переключении цепи и для создания предупреждения, связанного с состоянием «неработоспособно» цели. Но я не делаю этого, если это хороший образец. Более того, у меня есть две проблемы: первая - отслеживать микросервисы и агрегировать их данные для генерации предупреждения при достижении порога, а вторая - делать то же самое со сторонними сервисами (внешними сервисами), используемыми микросервисами на шлюзе. . По вашему мнению, как лучше всего отслеживать микросервисы? Спасибо
Мониторинг в микросервисах: как определить, выходит из строя внутренняя / внешняя служба в архитектуре микросервисов
Ответы (1)
Автоматический выключатель следует использовать, когда вам нужно позволить неисправной службе восстановиться, вместо того, чтобы постоянно отправлять ей запросы, несмотря на то, что он не может их обслуживать. Это хорошая статья, которую вы можете проверить подробнее о том, как использовать этот шаблон.
Так что, если ваша служба, вероятно, восстановится за короткий промежуток времени, вы можете использовать автоматический выключатель.
В противном случае, как я думаю, здесь так и есть (потому что вы хотите, чтобы предупреждение запускалось, когда служба не работает), я бы сосредоточил больше на причинах, по которым этот микросервис не работает, и я бы попытался свести к минимуму вероятность возникновения.
Если вы используете Kubernetes, вы можете отслеживать микросервисы с помощью Prometheus. Вот хорошая статья, с которой можно начать. Prometheus очищает API Kubernetes и предоставляет метрики, связанные с модулями. Вы можете создать оповещение на основе тех.
Для мониторинга внешних сервисов вы также можете использовать для этого Prometheus. Если внешний сервис может предоставлять метрики через Prometheus, вы просто подключаете его, и все готово. В противном случае вам придется написать код, чтобы проверить работоспособность этой службы и выставить метрику на ее основе.