Обнаружение и регистрация приложений Spring Boot

Примечание.

Azure Spring Apps — это новое название службы Azure Spring Cloud. Старое название будет еще некоторое время встречаться в наших материалах, пока мы не обновим ресурсы, такие как снимки экрана, видео и схемы.

Эта статья относится к: ✔️ стандартное потребление и выделенная (предварительная версия) ✔️ Basic/Standard ❌ Enterprise

В этой статье показано, как зарегистрировать приложение с помощью реестра службы Spring Cloud.

Регистрация и обнаружение службы являются ключевыми требованиями для обслуживания списка экземпляров активных приложений для вызова, маршрутизации и балансировки нагрузки входящих запросов. Настройка каждого клиента вручную занимает время и связана с возможностью человеческой ошибки. Azure Spring Apps предоставляет два варианта решения этой проблемы:

Примечание.

Чтобы использовать реестр служб в стандартном плане потребления и выделенного плана, необходимо сначала включить его. Дополнительные сведения см. в статье "Включение и отключение сервера Eureka" в Azure Spring Apps.

  • Используйте метод обнаружения служб Kubernetes для совершения вызовов между приложениями.

    Azure Spring Apps создает соответствующую службу Kubernetes для каждого приложения, работающего в нем, с помощью имени приложения в качестве имени службы Kubernetes. Вызовы из одного приложения в другое приложение можно вызвать с помощью имени приложения в http/HTTPS-запросе, http(s)://{app name}/pathнапример. Этот подход также подходит для плана Enterprise. Дополнительные сведения см. в примере кода реестра Kubernetes.

    Примечание.

    Этот подход не подходит для стандартного потребления и выделенного (предварительная версия).

  • Используйте управляемый реестр служб Spring Cloud (OSS) в Azure Spring Apps.

    После настройки сервер реестра служб будет управлять регистрацией и обнаружением ваших приложений. Сервер реестра служб ведет реестр экземпляров активных приложений, обеспечивает балансировку нагрузки на стороне клиента и отделяет поставщиков услуг от клиентов, не полагаясь на DNS.

Чтобы получить дополнительные сведения о настройке регистрации служб для приложения Steeltoe, см. страницу Подготовка приложения Java Spring к развертыванию в Azure Spring Apps.

Регистрация приложения с помощью реестра служб Spring Cloud

Прежде чем приложение сможет управлять регистрацией и обнаружением служб с помощью реестра службы Spring Cloud, необходимо включить в файл pom.xml следующую зависимость:spring-cloud-starter-netflix-eureka-client

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

Обновление класса верхнего уровня

Наконец, добавьте заметку в класс верхнего уровня приложения, как показано в следующем примере:

package foo.bar;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

@SpringBootApplication
@EnableEurekaClient
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

Конечная точка сервера реестра службы Spring Cloud внедряется в качестве переменной среды в приложении. Приложения смогут регистрироваться на сервере реестра служб и обнаруживать другие зависимые приложения.

Примечание.

Для распространения изменений с сервера на все приложения может потребоваться несколько минут.

Следующие шаги

Из этой статьи вы узнали, как зарегистрировать приложение с помощью Реестра служб Spring Cloud. Сведения о том, как получить доступ к реестру служб Spring Cloud с помощью управления доступом на основе ролей Microsoft Entra (RBAC), см. в статье Access Config Server и Реестр служб.