Udostępnij za pomocą


Szybki start: uruchamianie pierwszej aplikacji mikrousługi Java za pomocą zarządzanych składników Java w usłudze Azure Container Apps

Z tego przewodnika Szybki start dowiesz się, jak wdrożyć aplikację w usłudze Azure Container Apps, która używa składników Java do obsługi zarządzania konfiguracją, odnajdywania usług oraz kondycji i metryk. Przykładowa aplikacja używana w tym przykładzie to Java PetClinic, która używa wzorca architektury mikrousług. Na poniższym diagramie przedstawiono architekturę aplikacji PetClinic w usłudze Azure Container Apps:

Diagram relacji między składnikami Java i aplikacjami mikrousług.

Aplikacja PetClinic zawiera następujące funkcje:

  • Interfejs użytkownika to samodzielna aplikacja internetowa Node.js hostowana na aplikacji bramy API.
  • Brama interfejsu API kieruje żądania do aplikacji usług zaplecza.
  • Aplikacje zaplecza są tworzone przy użyciu platformy Spring Boot.
  • Każda aplikacja zaplecza używa bazy danych HyperSQL jako magazynu trwałego.
  • Aplikacje używają zarządzanych składników Java w usłudze Azure Container Apps, w tym rejestru usług, serwera konfiguracji i serwera administracyjnego.
  • Serwer konfiguracji odczytuje dane z repozytorium Git.
  • Obszar roboczy usługi Log Analytics rejestruje dane serwera.

W tym samouczku znajdziesz takie informacje:

  • Tworzenie serwera konfiguracji, serwera Eureka, serwera administracyjnego i składników administracyjnych
  • Tworzenie serii aplikacji mikrousług
  • Wiązanie składników serwera z aplikacjami mikrousług
  • Wdrażanie kolekcji aplikacji
  • Przeglądanie wdrożonych aplikacji

Na koniec tego artykułu wdrożysz jedną aplikację internetową i trzy aplikacje zaplecza skonfigurowane do pracy z trzema różnymi składnikami języka Java. Następnie można zarządzać poszczególnymi składnikami za pośrednictwem witryny Azure Portal.

Wymagania wstępne

  • Konto platformy Azure: jeśli nie masz konta platformy Azure, utwórz je bezpłatnie. Aby użyć tego szybkiego startu, musisz mieć uprawnienia Współautora lub Właściciela w subskrypcji Azure. Aby uzyskać więcej informacji, zobacz Przypisywanie ról platformy Azure przy użyciu witryny Azure Portal.
  • Zainstaluj Azure CLI.
  • Rozszerzenie interfejsu wiersza polecenia usługi Azure Container Apps. Użyj wersji 0.3.47 lub nowszej. Użyj polecenia , az extension add --name containerapp --upgrade --allow-preview aby zainstalować najnowszą wersję.

Ustawienia

Aby utworzyć zmienne środowiskowe, grupę zasobów i środowisko usługi Azure Container Apps, wykonaj następujące czynności:

  1. Zmienne środowiskowe zawierają wartości niestandardowe, dlatego przed uruchomieniem następnych poleceń zastąp wartości w nawiasach objęte <> swoimi własnymi wartościami:

    export RESOURCE_GROUP=<RESOURCE_GROUP>
    export LOCATION=<LOCATION>
    export CONTAINER_APP_ENVIRONMENT=<CONTAINER_APPS_ENVIRONMENT>
    
  2. Teraz utworzysz więcej zmiennych środowiskowych zawierających ustawienia aplikacji mikrousług. Te wartości służą do definiowania nazw i konfiguracji składników Java oraz usługi Azure Container Apps używanych do wdrażania mikrousług. Utwórz te zmienne środowiskowe przy użyciu następujących poleceń:

    export CONFIG_SERVER_COMPONENT=configserver
    export ADMIN_SERVER_COMPONENT=admin
    export EUREKA_SERVER_COMPONENT=eureka
    export CONFIG_SERVER_URI=https://github.com/spring-petclinic/spring-petclinic-microservices-config.git
    export CUSTOMERS_SERVICE=customers-service
    export VETS_SERVICE=vets-service
    export VISITS_SERVICE=visits-service
    export API_GATEWAY=api-gateway
    export CUSTOMERS_SERVICE_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-customers-service
    export VETS_SERVICE_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-vets-service
    export VISITS_SERVICE_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-visits-service
    export API_GATEWAY_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-api-gateway
    
  3. Zaloguj się do interfejsu wiersza polecenia platformy Azure i wybierz aktywną subskrypcję przy użyciu następującego polecenia:

    az login
    
  4. Utwórz grupę zasobów w celu organizowania usług platformy Azure przy użyciu następującego polecenia:

    az group create \
        --name $RESOURCE_GROUP \
        --location $LOCATION
    
  5. Utwórz środowisko usługi Azure Container Apps, które hostuje zarówno składniki Java, jak i aplikacje kontenera, używając następującego polecenia:

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

Tworzenie składników języka Java

Teraz utworzysz następujące składniki Języka Java, które obsługują aplikację:

  • Serwer konfiguracji. Służy do zarządzania ustawieniami konfiguracji dla aplikacji mikrousług.
  • Serwer Eureka. Służy do zarządzania rejestrem usług i odnajdywaniem.
  • Serwer administracyjny. Służy do monitorowania kondycji i metryk aplikacji mikrousług oraz zarządzania nimi.

Aby utworzyć te składniki serwera, wykonaj następujące czynności:

  1. Utwórz serwer konfiguracji dla składników Języka Java przy użyciu następującego polecenia:

    az containerapp env java-component config-server-for-spring create \
        --resource-group $RESOURCE_GROUP \
        --name $CONFIG_SERVER_COMPONENT \
        --environment $CONTAINER_APP_ENVIRONMENT \
        --configuration spring.cloud.config.server.git.uri=$CONFIG_SERVER_URI
    
  2. Utwórz serwer Eureka dla składników Java przy użyciu następującego polecenia:

    az containerapp env java-component eureka-server-for-spring create \
        --resource-group $RESOURCE_GROUP \
        --name $EUREKA_SERVER_COMPONENT
        --environment $CONTAINER_APP_ENVIRONMENT \
    
  3. Utwórz serwer administracyjny dla składników Języka Java przy użyciu następującego polecenia:

    az containerapp env java-component admin-for-spring create \
        --resource-group $RESOURCE_GROUP \
        --name $ADMIN_SERVER_COMPONENT
        --environment $CONTAINER_APP_ENVIRONMENT \
    

Wdrażanie aplikacji mikrousług

Aby wdrożyć aplikacje mikrousług Java w usłudze Azure Container Apps przy użyciu wstępnie utworzonych obrazów kontenerów, wykonaj następujące kroki:

Uwaga

W tym artykule użyto serii utworzonych obrazów dla aplikacji mikrousług Spring Petclinic. Możesz również dostosować przykładowy kod i użyć własnych obrazów. Aby uzyskać więcej informacji, zobacz repozytorium GitHub azure-container-apps-java-samples.

  1. Utwórz aplikację danych klienta przy użyciu następującego polecenia:

    az containerapp create \
        --resource-group $RESOURCE_GROUP \
        --name $CUSTOMERS_SERVICE \
        --environment $CONTAINER_APP_ENVIRONMENT \
        --image $CUSTOMERS_SERVICE_IMAGE
    
  2. Utwórz aplikację weterynarza przy użyciu następującego polecenia:

    az containerapp create \
        --resource-group $RESOURCE_GROUP \
        --name $VETS_SERVICE \
        --environment $CONTAINER_APP_ENVIRONMENT \
        --image $VETS_SERVICE_IMAGE
    
  3. Utwórz aplikację wizyt przy użyciu następującego polecenia:

    az containerapp create \
        --resource-group $RESOURCE_GROUP \
        --name $VISITS_SERVICE \
        --environment $CONTAINER_APP_ENVIRONMENT \
        --image $VISITS_SERVICE_IMAGE
    
  4. Utwórz aplikację bramy API przy użyciu następującego polecenia:

    az containerapp create \
        --resource-group $RESOURCE_GROUP \
        --name $API_GATEWAY \
        --environment $CONTAINER_APP_ENVIRONMENT \
        --image $API_GATEWAY_IMAGE \
        --ingress external \
        --target-port 8080 \
        --query properties.configuration.ingress.fqdn 
    

Wiązanie aplikacji kontenera ze składnikami języka Java

Następnie powiąż składniki Java z aplikacjami kontenera. Powiązania utworzone w tej sekcji zapewniają następujące funkcje:

  • Wstrzykiwanie danych konfiguracji do każdej aplikacji z zarządzanego serwera konfiguracji podczas uruchamiania.
  • Zarejestruj aplikację przy użyciu zarządzanego serwera Eureka na potrzeby odnajdywania usług.
  • Włącz serwer administracyjny do monitorowania aplikacji.

containerapp update Użyj polecenia , aby utworzyć powiązania dla każdej aplikacji, wykonując następujące kroki:

  1. Dodaj powiązania do aplikacji danych klienta przy użyciu następującego polecenia:

    az containerapp update \
        --resource-group $RESOURCE_GROUP \
        --name $CUSTOMERS_SERVICE \
        --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENT
    
  2. Dodaj powiązania do usługi weterynaryjnej za pomocą następującego polecenia:

    az containerapp update \
        --resource-group $RESOURCE_GROUP \
        --name $VETS_SERVICE \
        --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENT
    
  3. Dodaj powiązania do usługi wizyt przy użyciu następującego polecenia:

    az containerapp update \
        --resource-group $RESOURCE_GROUP \
        --name $VISITS_SERVICE \
        --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENT
    
  4. Dodaj powiązania do bramy interfejsu API. Użyj następującego polecenia, aby zwrócić adres URL aplikacji front-end, a następnie otwórz go w przeglądarce.

    az containerapp update \
        --resource-group $RESOURCE_GROUP \
        --name $API_GATEWAY \
        --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENT \
        --query properties.configuration.ingress.fqdn 
    

Weryfikowanie stanu aplikacji

Aby sprawdzić stan aplikacji, wykonaj następujące czynności:

  1. Za pomocą adresu URL zwróconego z polecenia bramy API wyświetl aplikację front-end w przeglądarce. Aplikacja powinna przypominać następujący zrzut ekranu:

    Zrzut ekranu przedstawiający stronę główną aplikacji kliniki dla zwierząt domowych.

  2. Aby wyświetlić pulpit nawigacyjny serwera Eureka, wykonaj następujące czynności:

    Ważne

    Aby wyświetlić pulpit nawigacyjny serwera Eureka i pulpit nawigacyjny administratora platformy Spring, musisz mieć co najmniej Microsoft.App/managedEnvironments/write rolę przypisaną do konta w zasobie środowiska zarządzanego. Możesz jawnie przypisać rolę Owner lub Contributor na zasobie. Możesz również wykonać kroki tworzenia niestandardowej definicji roli i przypisywania jej do konta.

    1. Uruchom następujące polecenie, aby zwrócić adres URL pulpitu nawigacyjnego:

      az containerapp env java-component eureka-server-for-spring show \
          --resource-group $RESOURCE_GROUP \
          --name $EUREKA_SERVER_COMPONENT \
          --environment $CONTAINER_APP_ENVIRONMENT \
          --query properties.ingress.fqdn
      
    2. Otwórz adres URL w przeglądarce. Powinna zostać wyświetlona aplikacja podobna do poniższego zrzutu ekranu:

      Zrzut ekranu przedstawiający aplikację kliniki dla zwierząt domowych Eureka Server.

  3. Wyświetl pulpit nawigacyjny Admin for Spring, wykonując następujące czynności:

    1. Użyj następującego polecenia, aby zwrócić adres URL pulpitu nawigacyjnego:

      az containerapp env java-component admin-for-spring show \
          --resource-group $RESOURCE_GROUP \
          --name $ADMIN_SERVER_COMPONENT \
          --environment $CONTAINER_APP_ENVIRONMENT \
          --query properties.ingress.fqdn
      
    2. Otwórz adres URL w przeglądarce. Powinna zostać wyświetlona aplikacja podobna do poniższego zrzutu ekranu:

      Zrzut ekranu przedstawiający pulpit nawigacyjny administratora kliniki dla zwierząt, pokazujący pięć działających usług, wraz z informacjami o wersji dla czterech usług.

Opcjonalne: Konfigurowanie składników języka Java

Składniki języka Java utworzone w tym przewodniku szybkiego startu można skonfigurować w portalu Azure, korzystając z sekcji Konfiguracje.

Zrzut ekranu przedstawiający sekcję Konfiguracje z polami tekstowymi Nazwa właściwości i Wartość oraz możliwość usunięcia właściwości.

Aby uzyskać więcej informacji na temat konfigurowania trzech składników Java utworzonych w tym przewodniku Szybki start, zobacz następujące linki:

Czyszczenie zasobów

Zasoby utworzone w tym przewodniku Szybki start mają wpływ na rachunek za korzystanie z platformy Azure. Jeśli nie zamierzasz korzystać z tych usług przez dłuższy czas, użyj następującego polecenia, aby usunąć wszystkie elementy utworzone w tym przewodniku szybkiego startu:

az group delete --resource-group $RESOURCE_GROUP