Обнаружение и регистрация приложений Spring Boot
Примечание.
Планы "Базовый", "Стандартный" и "Корпоративный" будут устарели начиная с середины марта 2025 г. с 3-летнего периода выхода на пенсию. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в объявлении о выходе на пенсию в Azure Spring Apps.
Стандартный план потребления и выделенного плана будет устарел с 30 сентября 2024 г. с полным завершением работы после шести месяцев. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в статье "Миграция потребления Azure Spring Apps Standard" и выделенного плана в приложения контейнеров Azure.
Эта статья относится к: ✔️ стандартное потребление и выделенная (предварительная версия) ✔️ 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 и Реестр служб.