Udostępnij za pośrednictwem


Samouczek: Połączenie do zarządzanego serwera Eureka dla platformy Spring w usłudze Azure Container Apps (wersja zapoznawcza)

Eureka Server for Spring to rejestr usług, który umożliwia mikrousługi zarejestrowanie się i odnajdywanie innych usług. Dostępny jako składnik usługi Azure Container Apps możesz powiązać aplikację kontenera z serwerem Eureka dla platformy Spring w celu automatycznej rejestracji na serwerze Eureka.

Z tego samouczka dowiesz się, jak wykonywać następujące czynności:

  • Tworzenie składnika Eureka Server for Spring Java
  • Wiązanie aplikacji kontenera z serwerem Eureka dla składnika Spring Java

Ważne

W tym samouczku są używane usługi, które mogą mieć wpływ na rachunek za korzystanie z platformy Azure. Jeśli zdecydujesz się wykonać kroki krok po kroku, upewnij się, że usunięto zasoby opisane w tym artykule, aby uniknąć nieoczekiwanych rozliczeń.

Wymagania wstępne

Do ukończenia tego projektu potrzebne są następujące elementy:

Wymaganie Instrukcje
Konto platformy Azure Wymagana jest aktywna subskrypcja. Jeśli nie masz konta, możesz je utworzyć teraz za darmo.
Interfejs wiersza polecenia platformy Azure Zainstaluj interfejs wiersza polecenia platformy Azure.

Kwestie wymagające rozważenia

Podczas uruchamiania na serwerze Eureka dla platformy Spring w usłudze Azure Container Apps należy pamiętać o następujących szczegółach:

Towar Wyjaśnienie
Scope Składnik Eureka Server for Spring działa w tym samym środowisku co połączona aplikacja kontenera.
Skalowanie Serwer Eureka dla platformy Spring nie może skalować. Właściwości minReplicas skalowania i maxReplicas są ustawione na 1wartość .
Zasoby Alokacja zasobów kontenera dla serwera Eureka dla platformy Spring jest stała. Liczba rdzeni procesora CPU wynosi 0,5, a rozmiar pamięci to 1Gi.
Cennik Opłaty za serwer Eureka dla platformy Spring są objęte cenami opartymi na użyciu. Zasoby używane przez zarządzane składniki Java są rozliczane według stawek aktywnych/bezczynnych. Możesz usunąć składniki, które nie są już używane do zatrzymywania rozliczeń.
Powiązanie Aplikacje kontenera łączą się z serwerem Eureka dla składnika Spring za pośrednictwem powiązania. Powiązania wprowadzają konfiguracje do zmiennych środowiskowych aplikacji kontenera. Po ustanowieniu powiązania aplikacja kontenera może odczytywać wartości konfiguracji ze zmiennych środowiskowych i łączyć się z serwerem Eureka dla platformy Spring.

Ustawienia

Przed rozpoczęciem pracy z serwerem Eureka dla platformy Spring należy najpierw utworzyć wymagane zasoby.

Wykonaj następujące polecenia, aby utworzyć grupę zasobów, środowisko aplikacji kontenera.

  1. Utwórz zmienne do obsługi konfiguracji aplikacji. Te wartości są udostępniane na potrzeby tej lekcji.

    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"
    
    Zmienna opis
    LOCATION Lokalizacja regionu świadczenia usługi Azure, w której tworzysz aplikację kontenera i składnik Java.
    ENVIRONMENT Nazwa środowiska usługi Azure Container Apps dla aplikacji demonstracyjnej.
    RESOURCE_GROUP Nazwa grupy zasobów platformy Azure dla aplikacji demonstracyjnej.
    JAVA_COMPONENT_NAME Nazwa składnika Java utworzonego dla aplikacji kontenera. W tym przypadku utworzysz składnik Eureka Server for Spring Java.
    IMAGE Obraz kontenera używany w aplikacji kontenera.
  2. Zaloguj się na platformie Azure przy użyciu interfejsu wiersza polecenia platformy Azure.

    az login
    
  3. Utwórz grupę zasobów.

    az group create --name $RESOURCE_GROUP --location $LOCATION
    
  4. Utwórz środowisko aplikacji kontenera.

    az containerapp env create \
      --name $ENVIRONMENT \
      --resource-group $RESOURCE_GROUP \
      --location $LOCATION
    

Używanie składnika Eureka Server for Spring Java

Teraz, gdy masz istniejące środowisko, możesz utworzyć aplikację kontenera i powiązać ją z wystąpieniem składnika Java serwera Eureka dla platformy Spring.

  1. Utwórz składnik Eureka Server for Spring Java.

    az containerapp env java-component eureka-server-for-spring create \
      --environment $ENVIRONMENT \
      --resource-group $RESOURCE_GROUP \
      --name $JAVA_COMPONENT_NAME
    
  2. Zaktualizuj konfigurację składnika Eureka Server for 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
    
  3. Utwórz aplikację kontenera i powiąż z serwerem Eureka dla platformy 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
    

    To polecenie zwraca adres URL aplikacji kontenera, która używa rejestrów w składniku serwera Eureka. Skopiuj adres URL do edytora tekstów, aby móc go użyć w kolejnym kroku.

    Przejdź do górnej /allRegistrationStatus części widoku tras wszystkich aplikacji zarejestrowanych w programie Eureka Server for Spring.

    Powiązanie wprowadza kilka konfiguracji do aplikacji jako zmienne środowiskowe, przede wszystkim eureka.client.service-url.defaultZone właściwość . Ta właściwość wskazuje wewnętrzny punkt końcowy składnika Java serwera Eureka.

    Powiązanie wprowadza również następujące właściwości:

    "eureka.client.register-with-eureka":    "true"
    "eureka.instance.prefer-ip-address":     "true"
    

    Właściwość jest ustawiona eureka.client.register-with-eureka na wartość , aby wymusić true rejestrację na serwerze Eureka. Ta rejestracja zastępuje ustawienie lokalne w application.propertiesprogramie z serwera konfiguracji itd. Jeśli chcesz ustawić ją na false, możesz ją zastąpić, ustawiając zmienną środowiskową w aplikacji kontenera.

    Parametr eureka.instance.prefer-ip-address jest ustawiony true na wartość z powodu określonej reguły rozpoznawania nazw DNS w środowisku aplikacji kontenera. Nie modyfikuj tej wartości, aby nie przerywać powiązania.

    Można również usunąć powiązanie z aplikacji.

Czyszczenie zasobów

Zasoby utworzone w tym samouczku mają wpływ na rachunek za platformę Azure. Jeśli nie zamierzasz korzystać z tych usług długoterminowych, uruchom następujące polecenie, aby usunąć wszystkie elementy utworzone w tym samouczku.

az group delete \
  --resource-group $RESOURCE_GROUP

Następne kroki