Рубрики
Uncategorized

Узоры Kubernetes: шаблон обнаружения услуг

Зачем нам нужно обнаружение услуг? Kubernetes развертывает приложения через стручки. Стручки могут быть помещены на … с меткой Kubernetes, Docker, DevOps.

Узоры Kubernetes (2 серии деталей)

Зачем нам нужно обнаружение услуг? Kubernetes развертывает приложения через стручки. Стручки могут быть размещены на разных хостах (узлы), увеличиваются за счет увеличения их числа, уменьшены путем убийства избытка и перемещаются из одного узла в другой. Все эти динамические действия должны происходить при обеспечении того, чтобы приложение оставалось доступным в любое время. Чтобы удовлетворить это критическое требование, мы используем шаблон обнаружения услуг. Чтобы понять обнаружение обслуживания, давайте кратко посетим архитектуру обнаружения услуг (SOA).

В конструкции микросервисов приложение разбивается на ряд компонентов, где каждый компонент отвечает за определенную роль. Различные компоненты должны общаться друг с другом, используя сетевые протоколы (например, HTTP). Итак, представьте, что клиентский компонент (потребитель) должен отправлять HTTP -сообщение в Service (производитель). Если есть только один экземпляр производителя, решение является простым: поместите информацию о подключении производителя (например, IP -адрес или имя DNS, протокол и порт) в файл конфигурации для клиента. Однако для достижения высокой доступности часто существует более одного экземпляра конкретного доступного услуги. В этом случае клиент не может просто зацепить себя к одному из производителей. Если этот экземпляр службы был удален или переименован, клиент теряет подключение и часть разрывов приложений. Следовательно, клиенту нужен какой -то способ выяснить, какой экземпляр сервиса является здоровым и доступен для этого, он может подключиться к нему. Итак, вернемся к SOA, у клиента есть два способа обнаружить услуги:

Обнаружение на стороне клиента: в этом режиме клиент отвечает за определение того, к какому экземпляру службы он должен подключиться. Это происходит, связавшись с компонентом реестра услуг, который ведет записи всех работающих услуг и их конечных точек. При добавлении новой службы или другой умирает, реестр услуг автоматически обновляется. Клиент несет ответственность за загрузку баланса и распределение его запроса на доступные услуги.

Обнаружение на стороне сервера: в этом режиме слой балансировки нагрузки существует перед экземплярами службы. Клиент подключается к четко определенному URL-адреса балансировщика нагрузки, а последний определяет, какую бэкэндскую службу он также должен направлять запрос.

Узоры Kubernetes (2 серии деталей)

Оригинал: «https://dev.to/ahmedat71538826/kubernetes-patterns-the-service-discovery-pattern-djp»