Обнаружение сервисов¶
В микросервисной архитектуре, когда большинство сервисов получает адреса динамически, и набор экземпляров может постоянно изменяться, важно использовать механзм обнаружения сервисов. Ядром такого механизма становится реестр сервисов. Когда экземпляры сервисов запускаются или останавливаются, механизм обнаружения обновляет реестр. Когда клиент хочет обратиться к сервису, он обращается к реестру за списком доступных экземпляров сервиса, и запрашивает один из них.
Есть два основных способа обнаружения сервисов.
Сервисы и их клиенты напрямую взаимодействуют с реестром.¶
Данный подход сочетает в себе два шаблона
Одним из преимуществ такого подхода является возможность развертывания сервисов на разных платформах. А недостатками являются как необходимость наличия библиотеки обнаружения сервисов для каждого используемого ЯП, так и то, что обслуживание и поддержка реестра ложится на разработчиков приложения.
За обнаружение сервисов отвечает инфраструктура развертывания.¶
В этом подходе забота о реестре и обнаружении сервисов ложится на инфраструктурное решение, такое как Kubernetes. В этом подходе, по аналогии с предыдущим, сочетаются следующие шаблоны
Ключевое преимущество данного подхода состоит в том, что всеми вопросами обнаружения сервисов занимается платформа. Ни клиенты, ни сервисы не содержат никакого кода для этой цели. Недостаток заключается в том, что он поддерживает обнаружение только тех сервисов, которые развернуты на конкретной платформе.
Дата создания : 25 июля 2022 г.