Руководство по Подключение управляемому серверу Eureka для Spring в приложениях контейнеров Azure (предварительная версия)
Eureka Server for Spring — это реестр служб, позволяющий микрослужбам регистрировать себя и обнаруживать другие службы. Доступно как компонент приложений контейнеров Azure, вы можете привязать приложение контейнера к серверу Eureka для Spring для автоматической регистрации на сервере Eureka.
Из этого руководства вы узнаете, как:
- Создание компонента Eureka Server для Spring Java
- Привязка приложения контейнера к компоненту Eureka Server для Spring Java
Внимание
В этом руководстве используются службы, которые могут повлиять на счет Azure. Если вы решили выполнить пошаговые инструкции, удалите ресурсы, описанные в этой статье, чтобы избежать непредвиденных выставления счетов.
Необходимые компоненты
Чтобы завершить этот проект, вам потребуется следующее:
Требование | Instructions |
---|---|
Учетная запись Azure | Требуется активная подписка. Если у вас нет учетной записи, вы можете создать ее бесплатно. |
Azure CLI | Установите интерфейс командной строки Azure. |
Рекомендации
При запуске в Eureka Server for Spring в приложениях контейнеров Azure помните о следующих сведениях:
Товар | Описание |
---|---|
Область применения | Компонент Eureka server for Spring выполняется в той же среде, что и подключенное приложение контейнера. |
Масштабирование | Сервер Eureka для Spring не может масштабироваться. Свойства minReplicas масштабирования и maxReplicas имеют значение . 1 . |
Ресурсы | Распределение ресурсов контейнера для Eureka Server для Spring исправлено. Число ядер ЦП равно 0,5, а размер памяти — 1Gi. |
Цены | Выставление счетов Eureka Server для Spring подпадает под цены на основе потребления. Счета за ресурсы, используемые управляемыми компонентами Java, выставляются по тарифам "активный или простой". Вы можете удалить компоненты, которые больше не используются для остановки выставления счетов. |
Binding | Приложения-контейнеры подключаются к компоненту Eureka server for Spring через привязку. Привязки внедряют конфигурации в переменные среды приложения-контейнера. После установки привязки приложение-контейнер может считывать значения конфигурации из переменных среды и подключаться к серверу Eureka server for Spring. |
Настройка
Прежде чем приступить к работе с сервером Eureka для Spring, сначала необходимо создать необходимые ресурсы.
Выполните следующие команды, чтобы создать группу ресурсов, среду приложений контейнеров.
Создайте переменные для поддержки конфигурации приложения. Эти значения предоставляются для вас в целях этого урока.
export LOCATION=eastus export RESOURCE_GROUP=my-services-resource-group export ENVIRONMENT=my-environment export JAVA_COMPONENT_NAME=eureka export APP_NAME=sample-service-eureka-client export IMAGE="mcr.microsoft.com/javacomponents/samples/sample-service-eureka-client:latest"
«Переменная» Description LOCATION
Расположение региона Azure, в котором создается приложение контейнера и компонент Java. ENVIRONMENT
Имя среды "Приложения контейнеров Azure" для демонстрационного приложения. RESOURCE_GROUP
Имя группы ресурсов Azure для демонстрационного приложения. JAVA_COMPONENT_NAME
Имя компонента Java, созданного для приложения контейнера. В этом случае создается компонент Eureka Server для Spring Java. IMAGE
Образ контейнера, используемый в приложении контейнера. Войдите в Azure с помощью Azure CLI.
az login
Создать группу ресурсов.
az group create --name $RESOURCE_GROUP --location $LOCATION
Создайте среду приложений контейнеров.
az containerapp env create \ --name $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --location $LOCATION
Использование компонента Eureka Server для Spring Java
Теперь, когда у вас есть существующая среда, вы можете создать приложение-контейнер и привязать его к экземпляру компонента Java eureka Server for Spring.
Создайте компонент Eureka Server для Spring Java.
az containerapp env java-component eureka-server-for-spring create \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $JAVA_COMPONENT_NAME
Обновите конфигурацию компонента Eureka Server для Spring Java.
az containerapp env java-component eureka-server-for-spring update \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $JAVA_COMPONENT_NAME --configuration eureka.server.renewal-percent-threshold=0.85 eureka.server.eviction-interval-timer-in-ms=10000
Создайте приложение-контейнер и привязывайте его к серверу Eureka для Spring.
az containerapp create \ --name $APP_NAME \ --resource-group $RESOURCE_GROUP \ --environment $ENVIRONMENT \ --image $IMAGE \ --min-replicas 1 \ --max-replicas 1 \ --ingress external \ --target-port 8080 \ --bind $JAVA_COMPONENT_NAME \ --query properties.configuration.ingress.fqdn
Эта команда возвращает URL-адрес приложения контейнера, которое использует регистры с компонентом сервера Eureka. Скопируйте URL-адрес в текстовый редактор, чтобы его можно было использовать на следующем шаге.
Перейдите
/allRegistrationStatus
в начало представления маршрута для всех приложений, зарегистрированных на сервере Eureka для Spring.Привязка внедряет в приложение несколько конфигураций в качестве переменных среды, в первую очередь
eureka.client.service-url.defaultZone
свойство. Это свойство указывает внутреннюю конечную точку компонента Java сервера Eureka.Привязка также внедряет следующие свойства:
"eureka.client.register-with-eureka": "true" "eureka.instance.prefer-ip-address": "true"
Свойство
eureka.client.register-with-eureka
устанавливается дляtrue
принудительной регистрации на сервере Eureka. Эта регистрация перезаписывает локальный параметр наapplication.properties
сервере конфигурации и т. д. Если вы хотите задать егоfalse
, его можно перезаписать, задав переменную среды в приложении контейнера.Задано
eureka.instance.prefer-ip-address
true
значение из-за конкретного правила разрешения DNS в среде приложения контейнера. Не изменяйте это значение, чтобы не прерывать привязку.Вы также можете удалить привязку из приложения.
Очистка ресурсов
Ресурсы, созданные в этом руководстве, влияют на счет Azure. Если вы не собираетесь использовать эти службы в долгосрочной перспективе, выполните следующую команду, чтобы удалить все, созданное в этом руководстве.
az group delete \
--resource-group $RESOURCE_GROUP
Следующие шаги
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по