Migrowanie aplikacji Spring Boot do usługi Azure Spring Apps

Uwaga

Azure Spring Apps to nowa nazwa usługi Azure Spring Cloud. Mimo że usługa ma nową nazwę, stara nazwa będzie widoczna w niektórych miejscach przez pewien czas, ponieważ pracujemy nad aktualizowaniem zasobów, takich jak zrzuty ekranu, filmy wideo i diagramy.

W tym przewodniku opisano, co należy wiedzieć, kiedy chcesz przeprowadzić migrację istniejącej aplikacji Spring Boot do uruchomienia w usłudze Azure Spring Apps.

Przed migracją

Aby zapewnić pomyślną migrację, przed rozpoczęciem wykonaj kroki oceny i spisu opisane w poniższych sekcjach.

Jeśli nie możesz spełnić żadnego z tych wymagań przed migracją, zapoznaj się z następującymi przewodnikami po migracji towarzyszącej:

  • Migrowanie wykonywalnych aplikacji JAR do kontenerów w usłudze Azure Kubernetes Service (zaplanowane wskazówki)
  • Migrowanie wykonywalnych aplikacji JAR do usługi Azure Virtual Machines (zaplanowane wskazówki)

Sprawdzanie składników aplikacji

Identyfikowanie stanu lokalnego

W środowiskach PaaS nie ma gwarancji, że aplikacja będzie działać dokładnie raz w danym momencie. Nawet jeśli skonfigurujesz aplikację do uruchamiania w jednym wystąpieniu, w następujących przypadkach można utworzyć zduplikowane wystąpienie:

  • Aplikacja musi zostać przeniesiona na hosta fizycznego z powodu awarii lub aktualizacji systemu.
  • Aplikacja jest aktualizowana.

W każdym z tych przypadków oryginalne wystąpienie pozostanie uruchomione do momentu zakończenia uruchamiania nowego wystąpienia. Ma to następujące potencjalnie znaczące konsekwencje dla aplikacji:

  • Nie można zagwarantować, że singleton będzie naprawdę pojedynczy.
  • Wszystkie dane, które nie zostały utrwalone w magazynie zewnętrznym, prawdopodobnie zostaną utracone znacznie wcześniej niż na jednym serwerze fizycznym lub maszynie wirtualnej.

Przed migracją do usługi Azure Spring Apps upewnij się, że kod nie zawiera stanu lokalnego, który nie może zostać utracony ani zduplikowany. Jeśli stan lokalny istnieje, zmień kod tak, aby przechowywał ten stan poza aplikacją. Aplikacje gotowe do chmury zwykle przechowują stan aplikacji w lokalizacjach, takich jak:

Określanie, czy i jak jest używany system plików

Znajdź wszystkie wystąpienia, w których usługi zapisują dane i/lub odczytują z lokalnego systemu plików. Określ, gdzie pliki krótkoterminowe/tymczasowe są zapisywane i odczytywane oraz gdzie pliki długoterminowe są zapisywane i odczytywane.

Uwaga

Usługa Azure Spring Apps zapewnia 5 GB magazynu tymczasowego na wystąpienie usługi Azure Spring Apps zainstalowane w programie /tmp. Jeśli pliki tymczasowe są zapisywane poza tym limitem lub w innej lokalizacji, wymagane będą zmiany kodu.

Zawartość statyczna tylko do odczytu

Jeśli aplikacja aktualnie obsługuje zawartość statyczną, potrzebna jest dodatkowa lokalizacja. Warto rozważyć przeniesienie zawartości statycznej do usługi Azure Blob Storage i dodanie usługi Azure CDN, aby zapewnić błyskawiczne pobieranie na całym świecie. Aby uzyskać więcej informacji, zobacz Hostowanie statycznej witryny internetowej w usłudze Azure Storage i Szybki start: integrowanie konta usługi Azure Storage z usługą Azure CDN.

Dynamicznie publikowana zawartość statyczna

Jeśli aplikacja zezwala na zawartość statyczną, która została przekazana/utworzona przez aplikację, ale pozostaje niezmienna po jej utworzeniu, możesz użyć usług Azure Blob Storage i Azure CDN, jak opisano powyżej, oraz usługi Azure Function do obsługiwania przekazywania i odświeżania usługi CDN. Udostępniliśmy przykładową implementację do użycia w temacie Przekazywanie zawartości statycznej i jej wstępne ładowanie w usłudze CDN za pomocą usługi Azure Functions.

Ustal, czy którakolwiek z usług zawiera kod specyficzny dla systemu operacyjnego

Jeśli aplikacja zawiera dowolny kod z zależnościami w systemie operacyjnym hosta, musisz przeprowadzić jej refaktoryzację, aby usunąć te zależności. Na przykład może być konieczne zastąpienie każdego użycia symbolu / lub \ w ścieżkach systemu plików przez File.Separator lub Paths.get.

Przełączanie na obsługiwaną platformę

Usługa Azure Spring Apps oferuje określone wersje języka Java i określone wersje platformy Spring Boot i Spring Cloud. Aby zapewnić zgodność, najpierw przeprowadź migrację aplikacji do jednej z obsługiwanych wersji języka Java w bieżącym środowisku, a następnie wykonaj pozostałe kroki migracji. Pamiętaj, aby w pełni przetestować konfigurację wynikową. W tych testach użyj najnowszej stabilnej wersji dystrybucji systemu Linux.

Uwaga

Ta weryfikacja jest szczególnie ważna, jeśli bieżący serwer działa na nieobsługiwanym zestawie JDK (na przykład Oracle JDK lub IBM OpenJ9).

Aby uzyskać informacje na temat bieżącej wersji języka Java, zaloguj się na serwerze produkcyjnym i uruchom następujące polecenie:

java -version

Aby uzyskać obsługiwane wersje języków Java, Spring Boot i Spring Cloud, a także instrukcje dotyczące aktualizowania, zobacz Przygotowywanie aplikacji do wdrożenia w usłudze Azure Spring Apps.

Określanie, czy Twoja aplikacja bazuje na zaplanowanych zadaniach

Zaplanowane zadania, takie jak zadania usługi Quartz Scheduler lub zadania cron systemu Unix, nie powinny być używane z usługą Azure Spring Apps. Usługa Azure Spring Apps nie uniemożliwi wdrażania aplikacji zawierającej zaplanowane zadania wewnętrznie. Jeśli jednak aplikacja jest skalowana w poziomie, to samo zaplanowane zadanie może zostać uruchomione więcej niż raz w zaplanowanym okresie. Ta sytuacja może prowadzić do niezamierzonych konsekwencji.

Utwórz spis wszystkich zaplanowanych zadań uruchomionych na serwerach produkcyjnych wewnątrz lub poza kodem aplikacji.

Identyfikowanie wersji platformy Spring Boot

Sprawdź zależności każdej migrowanej aplikacji, aby określić jej wersję spring boot.

Maven

W projektach Maven wersja Spring Boot jest zwykle znajdowana w <parent> elemplecie pliku POM:

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.10</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
Gradle

W projektach narzędzia Gradle wersja platformy Spring Boot będzie zwykle znajdowana w plugins sekcji jako wersja org.springframework.boot wtyczki:

plugins {
  id 'org.springframework.boot' version '2.7.10'
  id 'io.spring.dependency-management' version '1.0.15.RELEASE'
  id 'java'
}

W przypadku wszystkich aplikacji korzystających z platformy Spring Boot 1.x postępuj zgodnie z przewodnikiem migracji spring boot 2.0, aby zaktualizować je do obsługiwanej wersji spring boot. Aby uzyskać obsługiwane wersje, zobacz sekcję Wersje platformy Spring Boot i spring Cloud w temacie Przygotowywanie aplikacji do wdrożenia w usłudze Azure Spring Apps.

Identyfikowanie rozwiązań agregacji dzienników

Zidentyfikuj wszelkie rozwiązania agregacji dzienników używane przez migrowane aplikacje. Należy skonfigurować ustawienia diagnostyczne w migracji, aby umożliwić udostępnianie zarejestrowanych zdarzeń do użycia. Aby uzyskać więcej informacji, zobacz sekcję Zapewnianie rejestrowania konsoli i konfigurowania ustawień diagnostycznych.

Identyfikowanie agentów zarządzania wydajnością aplikacji (APM)

Zidentyfikuj wszystkich agentów monitorowania wydajności aplikacji używanych z aplikacjami. Usługa Azure Spring Apps obsługuje integrację z aplikacjami Szczegółowe informacje, New Relic, Elastic APM, Dynatrace i AppDynamics. Jeśli aplikacja korzysta z obsługiwanego programu APM, skonfiguruj integrację w migracji. Jeśli aplikacja nie korzysta z obsługiwanego programu APM, rozważ użycie Szczegółowe informacje aplikacji. Aby uzyskać więcej informacji, zobacz sekcję Migracja.

Utworzenie spisu zasobów zewnętrznych

Zidentyfikuj zasoby zewnętrzne, takie jak źródła danych, brokery komunikatów JMS i adresy URL innych usług. W aplikacjach Spring Boot zazwyczaj można znaleźć konfigurację dla takich zasobów w folderze src/main/directory , w pliku zwykle nazywanym application.properties lub application.yml.

Bazy danych

W przypadku dowolnej bazy danych SQL zidentyfikuj parametry połączenia.

W przypadku aplikacji Spring Boot parametry połączenia zwykle są widoczne w plikach konfiguracji.

Oto przykład z pliku application.properties:

spring.datasource.url=jdbc:mysql://localhost:3306/mysql_db
spring.datasource.username=dbuser
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

Oto przykład z pliku application.yaml:

spring:
  data:
    mongodb:
      uri: mongodb://mongouser:deepsecret@mongoserver.contoso.com:27017

Aby uzyskać więcej możliwych scenariuszy konfiguracji, zobacz dokumentację rozwiązania Spring Data:

Brokerzy komunikatów JMS

Zidentyfikuj używany broker lub brokerów, wyszukując w manifeście kompilacji (zazwyczaj plik pom.xml lub build.gradle ) dla odpowiednich zależności.

Na przykład aplikacja Spring Boot korzystająca z usługi ActiveMQ zwykle zawiera tę zależność w pliku pom.xml :

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-activemq</artifactId>
</dependency>

Aplikacje Spring Boot korzystające z brokerów komercyjnych zwykle zawierają zależności bezpośrednio od bibliotek sterowników JMS brokera. Oto przykład z pliku build.gradle:

    dependencies {
      ...
      compile("com.ibm.mq:com.ibm.mq.allclient:9.0.4.0")
      ...
    }

Po zidentyfikowaniu używanego brokera lub brokera znajdź odpowiednie ustawienia. W aplikacjach Spring Boot zazwyczaj można je znaleźć w plikach application.properties i application.yml w katalogu aplikacji.

Oto przykład activeMQ z pliku application.properties :

spring.activemq.brokerurl=broker:(tcp://localhost:61616,network:static:tcp://remotehost:61616)?persistent=false&useJmx=true
spring.activemq.user=admin
spring.activemq.password=tryandguess

Aby uzyskać więcej informacji na temat konfiguracji usługi ActiveMQ, zobacz dokumentację obsługi komunikatów spring boot.

Oto przykład ibm MQ z pliku application.yaml :

ibm:
  mq:
    queueManager: qm1
    channel: dev.ORDERS
    connName: localhost(14)
    user: admin
    password: big$ecr3t

Aby uzyskać więcej informacji na temat konfiguracji ibm MQ, zobacz dokumentację składników ibm MQ Spring.

Identyfikowanie zewnętrznych pamięci podręcznych

Zidentyfikuj używane zewnętrzne pamięci podręczne. Często usługa Redis jest używana za pośrednictwem usługi Spring Data Redis. Informacje o konfiguracji można znaleźć w dokumentacji usługi Spring Data Redis .

Ustal, czy dane sesji są buforowane za pośrednictwem sesji Spring, wyszukując odpowiednią konfigurację (w języku Java lub XML).

Dostawcy tożsamości

Zidentyfikuj wszystkich dostawców tożsamości używanych przez aplikację. Aby uzyskać informacje na temat sposobu konfigurowania dostawców tożsamości, zapoznaj się z następującymi tematami:

  • Aby uzyskać informacje o konfiguracji protokołu OAuth2, zobacz dokumentację dotyczącą zabezpieczeń spring.
  • Aby uzyskać informacje na temat konfiguracji Auth0 Spring Security, zobacz dokumentację Auth0 Spring Security.
  • Aby uzyskać informacje o konfiguracji usługi PingFederate Spring Security, zobacz instrukcje Auth0 PingFederate.

Identyfikowanie wszystkich klientów korzystających z portu niestandardowego

Usługa Azure Spring Apps zastępuje server.port ustawienie we wdrożonej aplikacji. Jeśli klienci klientów korzystają z aplikacji dostępnej na porcie innym niż 443, należy je zmodyfikować.

Wszystkie inne zasoby zewnętrzne

W tym przewodniku nie można udokumentować każdej możliwej zależności zewnętrznej. Po zakończeniu migracji należy sprawdzić, czy można spełnić wszystkie zależności zewnętrzne aplikacji.

Spis źródeł konfiguracji i wpisów tajnych

Hasła spisu i bezpieczne ciągi

Sprawdź wszystkie pliki właściwości i konfiguracji oraz wszystkie zmienne środowiskowe we wdrożeniach produkcyjnych pod kątem wszelkich ciągów wpisów tajnych i haseł. W aplikacji Spring Boot zazwyczaj można znaleźć takie ciągi w pliku application.properties lub application.yml .

Certyfikaty spisu

Udokumentuj wszystkie certyfikaty używane w przypadku publicznych punktów końcowych protokołu SSL lub komunikacji z bazami danych zaplecza i innymi systemami. Wszystkie certyfikaty na serwerach produkcyjnych można wyświetlić, uruchamiając następujące polecenie:

keytool -list -v -keystore <path to keystore>

Sprawdzanie architektury wdrażania

Dokumentowanie wymagań sprzętowych dla każdej usługi

Dokumentuj następujące informacje dotyczące aplikacji Spring Boot:

  • Liczba uruchomionych wystąpień.
  • Liczba procesorów CPU przydzielonych do każdego wystąpienia.
  • Ilość pamięci RAM przydzielonej do każdego wystąpienia.

Dokument dotyczący replikacji geograficznej/dystrybucji

Ustal, czy wystąpienia aplikacji Spring Boot są obecnie dystrybuowane między kilkoma regionami lub centrami danych. Udokumentowanie wymagań dotyczących czasu pracy/umowy SLA dla migrujących aplikacji.

Migracja

Tworzenie wystąpienia i aplikacji usługi Azure Spring Apps

Aprowizuj wystąpienie usługi Azure Spring Apps w ramach subskrypcji platformy Azure, jeśli jeszcze nie istnieje. Następnie utwórz tam aplikację. Aby uzyskać więcej informacji, zobacz Szybki start: wdrażanie pierwszej aplikacji w usłudze Azure Spring Apps.

Upewnij się, że rejestrowanie konsoli i konfigurowanie ustawień diagnostycznych

Skonfiguruj rejestrowanie, aby wszystkie dane wyjściowe są kierowane do konsoli, a nie do plików.

Po wdrożeniu aplikacji w usłudze Azure Spring Apps dodaj ustawienie diagnostyczne, aby udostępnić zarejestrowane zdarzenia do użycia, na przykład za pośrednictwem usługi Azure Monitor Log Analytics.

LogStash/ELK Stack

Jeśli używasz usługi LogStash/ELK Stack do agregacji dzienników, skonfiguruj ustawienie diagnostyczne w celu przesyłania strumieniowego danych wyjściowych konsoli do centrum zdarzeń platformy Azure. Następnie użyj wtyczki LogStash EventHub, aby pozyskać zarejestrowane zdarzenia do usługi LogStash.

Splunk

Jeśli używasz funkcji Splunk do agregacji dzienników, skonfiguruj ustawienie diagnostyczne w celu przesyłania strumieniowego danych wyjściowych konsoli do usługi Azure Blob Storage. Następnie użyj dodatku Splunk dla usług Microsoft Cloud Services, aby pozyskać zarejestrowane zdarzenia w rozwiązaniu Splunk.

Konfigurowanie magazynu trwałego

Jeśli jakakolwiek część aplikacji odczytuje lub zapisuje w lokalnym systemie plików, musisz skonfigurować magazyn trwały, aby zastąpić lokalny system plików. Aby uzyskać więcej informacji, zobacz Używanie wbudowanego magazynu trwałego w usłudze Azure Spring Apps.

Należy zapisać wszystkie pliki tymczasowe w /tmp katalogu. Aby uzyskać niezależność systemu operacyjnego, możesz uzyskać ten katalog przy użyciu polecenia System.getProperty("java.io.tmpdir"). Możesz również użyć java.nio.Files::createTempFile polecenia , aby utworzyć pliki tymczasowe.

Migrowanie wszystkich certyfikatów do usługi KeyVault

Usługa Azure Spring Apps nie zapewnia dostępu do magazynu kluczy JRE, dlatego należy przeprowadzić migrację certyfikatów do usługi Azure KeyVault i zmienić kod aplikacji, aby uzyskać dostęp do certyfikatów w usłudze KeyVault. Aby uzyskać więcej informacji, zobacz Wprowadzenie do certyfikatów usługi Key Vault i biblioteki klienta certyfikatu usługi Azure Key Vault dla języka Java.

Konfigurowanie integracji zarządzania wydajnością aplikacji (APM)

Usługa Azure Spring Apps oferuje następujące integracje APM. Postępuj zgodnie z linkami, aby włączyć potrzebny APM.

Jeśli aplikacja nie korzysta z obsługiwanego programu APM, rozważ użycie Szczegółowe informacje aplikacji. Usługa Azure Spring Apps oferuje głęboką integrację z usługą Application Szczegółowe informacje na potrzeby zarządzania wydajnością i reagowania w czasie rzeczywistym na aberrations.

Wyłączanie klientów i punktów końcowych metryk w aplikacjach

Usuń wszystkich używanych klientów metryk lub wszystkich punktów końcowych metryk uwidocznionych w aplikacjach.

Wdrażanie aplikacji

Wdróż każdą z migrowanych mikrousług (nie w tym serwerów konfiguracji spring cloud i rejestru), zgodnie z opisem w przewodniku Szybki start: wdrażanie pierwszej aplikacji w usłudze Azure Spring Apps.

Konfigurowanie wpisów tajnych dla usługi i ustawień zewnętrznych

Możesz wstrzyknąć dowolne ustawienia konfiguracji dla usługi do każdej usługi jako zmienne środowiskowe. Wykonaj następujące kroki w witrynie Azure Portal:

  1. Przejdź do wystąpienia usługi Azure Spring Apps i wybierz pozycję Aplikacje.
  2. Wybierz usługę do skonfigurowania.
  3. Wybierz Konfiguracja.
  4. Wprowadź zmienne do skonfigurowania.
  5. Wybierz pozycję Zapisz.

Spring Cloud App Configuration Settings

Migrowanie i włączanie dostawcy tożsamości

Jeśli którakolwiek z aplikacji Spring Cloud wymaga uwierzytelniania lub autoryzacji, upewnij się, że są skonfigurowane do uzyskiwania dostępu do dostawcy tożsamości:

  • Jeśli dostawca tożsamości jest identyfikatorem Entra firmy Microsoft, nie należy wprowadzać żadnych zmian.
  • Jeśli dostawca tożsamości jest lasem lokalna usługa Active Directory, rozważ zaimplementowanie rozwiązania tożsamości hybrydowej przy użyciu identyfikatora Entra firmy Microsoft. Aby uzyskać więcej informacji, zobacz dokumentację tożsamości hybrydowej.
  • Jeśli dostawca tożsamości jest innym rozwiązaniem lokalnym, takim jak PingFederate, zapoznaj się z tematem Niestandardowa instalacja usługi Microsoft Entra Połączenie, aby skonfigurować federację z identyfikatorem Entra firmy Microsoft. Alternatywnie rozważ użycie usługi Spring Security do korzystania z dostawcy tożsamości za pośrednictwem protokołu OAuth2/OpenID Połączenie lub SAML.

Uwidacznianie aplikacji

Domyślnie aplikacje wdrożone w usłudze Azure Spring Apps nie są widoczne zewnętrznie. Aplikację można uwidocznić, udostępniając ją publicznie za pomocą następującego polecenia:

az spring app update --name <application name> --is-public true

Pomiń ten krok, jeśli używasz usługi Spring Cloud Gateway lub zamierzasz jej używać. Aby uzyskać więcej informacji, zobacz następującą sekcję.

Po migracji

Po zakończeniu migracji sprawdź, czy aplikacja działa zgodnie z oczekiwaniami. Następnie możesz sprawić, że aplikacja będzie bardziej natywna dla chmury, korzystając z poniższych zaleceń.

  • Rozważ włączenie aplikacji do pracy z usługą Spring Cloud Registry. Umożliwi to dynamiczne odnajdywanie aplikacji przez inne wdrożone aplikacje Spring i klientów. Aby uzyskać więcej informacji, zobacz Przygotowywanie aplikacji do wdrożenia w usłudze Azure Spring Apps. Następnie zmodyfikuj wszystkich klientów aplikacji, aby używali modułu równoważenia obciążenia klienta spring. Dzięki temu klient może uzyskać adresy wszystkich uruchomionych wystąpień aplikacji i znaleźć wystąpienie, które działa, jeśli inne wystąpienie zostanie uszkodzone lub nie odpowiada. Aby uzyskać więcej informacji, zobacz Spring Wskazówki: Spring Cloud Load Balancer w blogu Spring.

  • Zamiast upublicznić aplikację , rozważ dodanie wystąpienia usługi Spring Cloud Gateway . Usługa Spring Cloud Gateway udostępnia pojedynczy punkt końcowy dla wszystkich aplikacji wdrożonych w wystąpieniu usługi Azure Spring Apps. Jeśli brama Spring Cloud Gateway została już wdrożona, upewnij się, że została skonfigurowana do kierowania ruchu do nowo wdrożonej aplikacji.

  • Rozważ dodanie serwera konfiguracji Spring Cloud, aby centralnie zarządzać konfiguracją kontroli wersji i zarządzać nią dla wszystkich aplikacji Spring Cloud. Najpierw utwórz repozytorium Git, aby pomieścić konfigurację i skonfigurować wystąpienie usługi Azure Spring Apps do użycia. Aby uzyskać więcej informacji, zobacz Konfigurowanie wystąpienia serwera Spring Cloud Config Server dla usługi. Następnie przeprowadź migrację konfiguracji, wykonując następujące kroki:

    1. W katalogu src/main/resources aplikacji utwórz plik bootstrap.yml o następującej zawartości:

        spring:
          application:
            name: <your-application-name>
      
    2. W repozytorium Git konfiguracji utwórz <plik your-application-name.yml>, gdzie your-application-name jest taki sam jak w poprzednim kroku. Przenieś ustawienia z pliku application.yml w pliku src/main/resources do nowo utworzonego pliku. Jeśli ustawienia były wcześniej w pliku properties , najpierw przekonwertowano je na YAML. Aby wykonać tę konwersję, możesz znaleźć narzędzia online lub wtyczki IntelliJ.

    3. Utwórz plik application.yml w powyższym katalogu. Ten plik służy do definiowania ustawień i zasobów, które będą współużytkowane przez wszystkie aplikacje w wystąpieniu usługi Azure Spring Apps. Takie ustawienia zazwyczaj obejmują źródła danych, ustawienia rejestrowania, konfigurację siłownika Spring Boot i inne.

    4. Zatwierdź i wypchnij te zmiany do repozytorium Git.

    5. Usuń plik application.properties lub application.yml z aplikacji.

  • Rozważ dodanie potoku wdrażania dla wdrożeń automatycznych, spójnych. Instrukcje są dostępne dla usługi Azure Pipelines, dla funkcji GitHub Actions i dla serwera Jenkins.

  • Rozważ użycie wdrożeń przejściowych do testowania zmian kodu w środowisku produkcyjnym, zanim będą dostępne dla niektórych lub wszystkich użytkowników końcowych. Aby uzyskać więcej informacji, zobacz Konfigurowanie środowiska przejściowego w usłudze Azure Spring Apps.

  • Rozważ dodanie powiązań usługi w celu połączenia aplikacji z obsługiwanymi bazami danych platformy Azure. Te powiązania usług wyeliminowałyby konieczność dostarczania informacji o połączeniu, w tym poświadczeń, aplikacjom Spring Cloud.

  • Rozważ użycie aplikacja systemu Azure Szczegółowe informacje do monitorowania wydajności i interakcji aplikacji. Aby uzyskać więcej informacji, zobacz Application Szczegółowe informacje Java In-Process Agent in-Process Agent in-Process w usłudze Azure Spring Apps.

  • Rozważ dodanie reguł alertów i grup akcji usługi Azure Monitor, aby szybko wykrywać i rozwiązywać problemy z warunkami aberrant. Aby uzyskać więcej informacji, zobacz Samouczek: monitorowanie zasobów platformy Spring Cloud przy użyciu alertów i grup akcji.

  • Rozważ replikowanie wdrożenia usługi Azure Spring Apps w innym regionie, aby uzyskać mniejsze opóźnienia i większą niezawodność i odporność na uszkodzenia. Usługa Azure Traffic Manager umożliwia równoważenie obciążenia między wdrożeniami lub używanie usługi Azure Front Door do dodawania odciążania protokołu SSL i zapory aplikacji internetowej z ochroną przed atakami DDoS.

  • Jeśli replikacja geograficzna nie jest konieczna, rozważ dodanie bramy aplikacja systemu Azure w celu dodania odciążania protokołu SSL i zapory aplikacji internetowej z ochroną przed atakami DDoS.