Migrera Spring Cloud-program till Azure Spring Apps

Kommentar

Azure Spring Apps är det nya namnet på Azure Spring Cloud-tjänsten. Även om tjänsten har ett nytt namn ser du det gamla namnet på vissa platser ett tag medan vi arbetar med att uppdatera tillgångar som skärmbilder, videor och diagram.

Den här guiden beskriver vad du bör känna till när du vill migrera ett befintligt Spring Cloud-program som ska köras i Azure Spring Apps.

Före migrering

För att säkerställa en lyckad migrering slutför du de utvärderings- och inventeringssteg som beskrivs i följande avsnitt innan du börjar.

Om du inte kan uppfylla något av dessa krav före migreringen kan du läsa följande kompletterande migreringsguider:

  • Migrera körbara JAR-program till containrar i Azure Kubernetes-tjänsten (planerad guide)
  • Migrera körbara JAR-program till virtuella Azure-datorer (planerad guide)

Granska programkomponenter

Kontrollera om och hur filsystemet används

Hitta alla instanser där dina tjänster skriver till och/eller läser från det lokala filsystemet. Identifiera var kortsiktiga/tillfälliga filer skrivs och läss och var långlivade filer skrivs och läss.

Kommentar

Azure Spring Apps tillhandahåller 5 GB tillfällig lagring per Azure Spring Apps-instans, monterad i /tmp. Om temporära filer skrivs utöver den gränsen eller på en annan plats krävs kodändringar.

Skrivskyddat statiskt innehåll

Om ditt program för tillfället hanterar statiskt innehåll behöver du en alternativ plats för det. Du kanske kan tänka dig att flytta det statiska innehållet till Azure Blob Storage och lägga till Azure CDN för blixtsnabba nedladdningar globalt. Mer information finns i Värd för statiska webbplatser i Azure Storage och snabbstart: Integrera ett Azure Storage-konto med Azure CDN.

Dynamiskt publicerat statiskt innehåll

Om ditt program tillåter att statiskt innehåll laddas upp/skapas av ditt program, men inte kan ändras efter att det har skapats, så kan du använda Azure Blob Storage och Azure CDN enligt beskrivningen ovan, med en Azure-funktion för hantering av överföringar och CDN-uppdateringar. Vi har tillhandahållit en exempelimplementering som du kan använda i Överföra och CDN-för inläsa statiskt innehåll med Azure Functions.

Avgöra om någon av tjänsterna innehåller OS-specifik kod

Om programmet innehåller en kod med beroenden i värdoperativsystemet måste du omstrukturera det för att ta bort dessa beroenden. Du kan exempelvis bli tvungen att ersätta all användning av / eller \ i filsystemets sökvägar med File.Separator eller Paths.get.

Växla till en plattform som stöds

Azure Spring Apps erbjuder specifika versioner av Java och specifika versioner av Spring Boot och Spring Cloud. För att säkerställa kompatibilitet migrerar du först programmet till en av de versioner av Java som stöds i den aktuella miljön och fortsätter sedan med de återstående migreringsstegen. Var noga med att testa den resulterande konfigurationen fullt ut. Använd den senaste stabila versionen av Linux-distributionen i sådana tester.

Kommentar

Den här verifieringen är särskilt viktig om den aktuella servern körs på en JDK som inte stöds (till exempel Oracle JDK eller IBM OpenJ9).

Du får den aktuella Java-versionen genom att logga in på din produktionsserver och köra följande kommando:

java -version

För versioner av Java, Spring Boot och Spring Cloud som stöds, samt instruktioner för uppdatering, se Förbereda ett program för distribution i Azure Spring Apps.

Identifiera Spring Boot-versioner

Granska beroendena för varje program som migreras för att fastställa dess Spring Boot-version.

Maven

I Maven-projekt finns Spring Boot-versionen vanligtvis i elementet <parent> i POM-filen:

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

I Gradle-projekt finns Spring Boot-versionen vanligtvis i plugins avsnittet som version av plugin-programmet org.springframework.boot :

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

För alla program som använder Spring Boot 1.x följer du migreringsguiden för Spring Boot 2.0 för att uppdatera dem till en Spring Boot-version som stöds. För versioner som stöds, se avsnittet Spring Boot- och Spring Cloud-versioner i Förbereda ett program för distribution i Azure Spring Apps.

Identifiera Spring Cloud-versioner

Granska beroendena för varje program som du migrerar för att fastställa vilken version av Spring Cloud-komponenter som används.

Maven

I Maven-projekt anges Spring Cloud-versionen vanligtvis i egenskapen spring-cloud.version :

  <properties>
    <java.version>1.8</java.version>
    <spring-cloud.version>2021.0.6</spring-cloud.version>
  </properties>
Gradle

I Gradle-projekt anges Spring Cloud-versionen vanligtvis i blocket "extra egenskaper":

ext {
  set('springCloudVersion', "2021.0.6")
}

Du måste uppdatera alla program så att de använder versioner av Spring Cloud som stöds. En lista över versioner som stöds finns i avsnittet Spring Boot- och Spring Cloud-versioner i Förbereda ett program för distribution i Azure Spring Apps.

Identifiera loggaggregeringslösningar

Identifiera eventuella loggaggregeringslösningar som används av de program som du migrerar. Du måste konfigurera diagnostikinställningar under migreringen för att göra loggade händelser tillgängliga för förbrukning. Mer information finns i avsnittet Kontrollera konsolloggning och konfigurera diagnostikinställningar .

Identifiera APM-agenter (Application Performance Management)

Identifiera alla programprestandaövervakningsagenter som används med dina program. Azure Spring Apps stöder integrering med Application Insights, New Relic, Elastic APM, Dynatrace och AppDynamics. Om programmet använder en APM som stöds konfigurerar du integreringen i migreringen. Om programmet inte använder en APM som stöds kan du överväga att använda Application Insights i stället. Mer information finns i avsnittet Migrering .

Identifiera Zipkin-beroenden

Avgör om ditt program har beroenden på Zipkin. Uppdatera programmet så att det använder Application Insights i stället. Mer information finns i Använda Application Insights Java In-Process Agent i Azure Spring Apps och avsnittet Efter migrering .

Inventera externa resurser

Identifiera externa resurser, till exempel datakällor, asynkrona JMS-meddelandetjänster och URL:er för andra tjänster. I Spring Cloud-program kan du vanligtvis hitta konfigurationen för sådana resurser på någon av följande platser:

  • I mappen src/main/directory i en fil som vanligtvis kallas application.properties eller application.yml.
  • I Spring Cloud Config-lagringsplatsen som du identifierade i föregående steg.

Databaser

Identifiera anslutningssträngen för alla SQL-databaser.

För ett Spring Boot-program visas anslutningssträngar vanligtvis i konfigurationsfiler.

Här är ett exempel från en application.properties-fil:

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

Här är ett exempel från en application.properties-fil:

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

Mer möjliga konfigurationsscenarier finns i Spring Data-dokumentationen:

JMS-meddelandeköer

Identifiera den asynkronisering eller asynkronisering som används genom att titta i versionsmanifestet (vanligtvis en pom.xml - eller build.gradle-fil ) för relevanta beroenden.

Till exempel skulle ett Spring Boot-program som använder ActiveMQ vanligtvis innehålla det här beroendet i sin pom.xml-fil :

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

Spring Boot-program som använder kommersiella asynkroniseringar innehåller vanligtvis beroenden direkt på koordinatorernas JMS-drivrutinsbibliotek. Här är ett exempel från en build.gradle-fil:

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

När du har identifierat den asynkrona meddelandekö eller de asynkrona koordinatorer som används hittar du motsvarande inställningar. I Spring Cloud-program kan du vanligtvis hitta dem i application.properties och application.yml filer i programkatalogen eller på Spring Cloud Config-serverlagringsplatsen.

Här är ett ActiveMQ-exempel från en application.properties-fil :

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

Mer information om ActiveMQ-konfiguration finns i dokumentationen om Spring Boot-meddelanden.

Här är ett IBM MQ-exempel från en application.yaml-fil :

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

Mer information om IBM MQ-konfiguration finns i dokumentationen för IBM MQ Spring-komponenter.

Identifiera externa cacheminnen

Identifiera eventuella externa cacheminnen som används. Redis används ofta via Spring Data Redis. Konfigurationsinformation finns i Spring Data Redis-dokumentationen.

Avgör om sessionsdata cachelagras via Spring Session genom att söka efter respektive konfiguration (i Java eller XML).

Identitetsprovidrar

Identifiera alla identitetsprovidrar och alla Spring Cloud-program som kräver autentisering och/eller auktorisering. Information om hur du kan konfigurera identitetsprovidrar finns i följande resurser:

  • Information om OAuth2-konfiguration finns i Spring Cloud Security-snabbstarten.
  • För Auth0 Spring Security-konfiguration, se dokumentationen om Auth0 Spring Security.
  • Information om Konfiguration av PingFederate Spring Security finns i Auth0 PingFederate-instruktionerna.

Resurser som konfigurerats via VMware Tanzu Application Service (TAS) (tidigare Pivotal Cloud Foundry)

För program som hanteras med TAS konfigureras externa resurser, inklusive de resurser som beskrevs tidigare, ofta via TAS-tjänstbindningar. Om du vill undersöka konfigurationen för sådana resurser använder du TAS (Cloud Foundry) CLI för att visa variabeln VCAP_SERVICES för programmet.

# Log into TAS, if needed (enter credentials when prompted)
cf login -a <API endpoint>

# Set the organization and space containing the application, if not already selected during login.
cf target org <organization name>
cf target space <space name>

# Display variables for the application
cf env <Application Name>

Granska variabeln VCAP_SERVICES för konfigurationsinställningar för externa tjänster som är bundna till programmet. Mer information finns i TAS-dokumentationen (Cloud Foundry).

Alla andra externa resurser

Det är inte möjligt för den här guiden att dokumentera alla möjliga externa beroenden. Efter migreringen är det ditt ansvar att kontrollera att du kan uppfylla alla externa beroenden för ditt program.

Inventeringskonfigurationskällor och hemligheter

Inventera lösenord och säkra strängar

Kontrollera alla egenskaper och konfigurationsfiler och alla miljövariabler för produktionsdistribution (er) för eventuella hemliga strängar och lösenord. I ett Spring Cloud-program kan du vanligtvis hitta sådana strängar i application.properties eller application.yml fil i enskilda tjänster eller på Spring Cloud Config-lagringsplatsen.

Inventera certifikat

Dokumentera alla certifikat som används för offentliga SSL-slutpunkter eller kommunikation med serverdelsdatabaser och andra system. Du kan visa alla certifikat på produktionsservrarna genom att köra följande kommando:

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

Avgöra om Spring Cloud Vault används

Om du använder Spring Cloud Vault för att lagra och komma åt hemligheter identifierar du det säkerhetskopierade hemlighetsarkivet (till exempel HashiCorp Vault eller CredHub). Identifiera sedan alla hemligheter som används av programkoden.

Leta upp konfigurationsserverkällan

Om ditt program använder en Spring Cloud Config-server identifierar du var konfigurationen lagras. Du hittar vanligtvis den här inställningen i filen bootstrap.yml eller bootstrap.properties , eller ibland i filen application.yml eller application.properties . Inställningen ser ut som i följande exempel:

spring.cloud.config.server.git.uri: file://${user.home}/spring-cloud-config-repo

Git används oftast som Spring Cloud Configs säkerhetskopieringsdatalager, vilket visades tidigare, men en av de andra möjliga serverdelarna kan användas. Se Spring Cloud Config-dokumentationen för information om andra serverdelar, till exempel Relationsdatabas (JDBC), SVN och det lokala filsystemet.

Kommentar

Om dina konfigurationsserverdata lagras lokalt, till exempel GitHub Enterprise, måste du göra dem tillgängliga för Azure Spring Apps via en Git-lagringsplats.

Granska distributionsarkitekturen

Dokumentera maskinvarukrav för varje tjänst

För var och en av dina Spring Cloud-tjänster (inklusive konfigurationsservern, registret eller gatewayen) dokumenterar du följande information:

  • Antalet instanser som körs.
  • Antalet processorer som allokerats till varje instans.
  • Mängden RAM-minne som allokerats till varje instans.

Dokumentera geo-replikering/distribution

Avgör om Spring Cloud-programmen för närvarande är distribuerade mellan flera regioner eller datacenter. Dokumentera drifttidskrav/serviceavtal för de program som du migrerar.

Identifiera klienter som kringgår tjänstregistret

Identifiera alla klientprogram som anropar någon av de tjänster som ska migreras utan att använda Spring Cloud Service Registry. Efter migreringen är sådana anrop inte längre möjliga. Uppdatera sådana klienter så att de använder Spring Cloud OpenFeign före migreringen.

Migrering

Ta bort begränsade konfigurationer

I de tjänster som du migrerar letar du upp och tar bort eventuella explicita tilldelningar av följande begränsade inställningar. Dessa egenskaper matas automatiskt in i programmiljön för att få åtkomst till Config Server och Service Discovery. Om de här egenskaperna finns i dina Config Server-programfiler kan det uppstå konflikter och oväntat beteende. Mer information finns i avsnittet Begränsning i Konfigurera en hanterad Spring Cloud-konfigurationsserver i Azure Spring Apps

  • eureka.client.service-url.defaultZone
  • eureka.client.tls.keystore
  • eureka.instance.preferIpAddress
  • eureka.instance.instance-id
  • server.port
  • spring.cloud.config.tls.keystore
  • spring.config.import
  • spring.application.name
  • spring.jmx.enabled
  • management.endpoints.jmx.exposure.include

Skapa en Azure Spring Apps-instans och -appar

Etablera en Azure Spring Apps-instans i din Azure-prenumeration. Etablera sedan en app för varje tjänst som du migrerar. Inkludera inte Spring Cloud-registret och konfigurationsservrarna. Inkludera Spring Cloud Gateway-tjänsten. Anvisningar finns i Snabbstart: Distribuera ditt första program till Azure Spring Apps.

Förbereda Spring Cloud-konfigurationsservern

Konfigurera konfigurationsservern i din Azure Spring Apps-instans. Mer information finns i Konfigurera en Spring Cloud Config Server-instans för din tjänst.

Kommentar

Om din aktuella Spring Cloud Config-lagringsplats finns i det lokala filsystemet eller lokalt måste du först migrera eller replikera konfigurationsfilerna till en privat molnbaserad lagringsplats, till exempel GitHub, Azure Repos eller BitBucket.

Se till att konsolen loggar och konfigurerar diagnostikinställningar

Konfigurera loggningen så att alla utdata dirigeras till konsolen och inte till filer.

När ett program har distribuerats till Azure Spring Apps lägger du till en diagnostikinställning för att göra loggade händelser tillgängliga för förbrukning, till exempel via Azure Monitor Log Analytics.

LogStash/ELK Stack

Om du använder LogStash/ELK Stack för loggaggregering konfigurerar du diagnostikinställningen för att strömma konsolutdata till en Azure Event Hub. Använd sedan Plugin-programmet LogStash EventHub för att mata in loggade händelser i LogStash.

Splunk

Om du använder Splunk för loggaggregering konfigurerar du diagnostikinställningen för att strömma konsolutdata till Azure Blob Storage. Använd sedan Splunk-tillägget för Microsoft Cloud Services för att mata in loggade händelser i Splunk.

Konfigurera beständig lagring

Om någon del av programmet läser eller skriver till det lokala filsystemet måste du konfigurera beständig lagring för att ersätta det lokala filsystemet. Mer information finns i Använda inbyggd beständig lagring i Azure Spring Apps.

Du bör skriva temporära filer till /tmp katalogen. För operativsystemets oberoende kan du hämta den här katalogen med hjälp System.getProperty("java.io.tmpdir")av . Du kan också använda java.nio.Files::createTempFile för att skapa temporära filer.

VMware Tanzu-komponenter

På Enterprise-nivån tillhandahålls Programkonfigurationstjänsten för VMware Tanzu® för att stödja externaliserad konfiguration för dina appar. Managed Spring Cloud Config Server är inte tillgängligt på Enterprise-nivå och är endast tillgängligt på Standard- och Basic-nivån i Azure Spring Apps.

Programkonfigurationstjänst för Tanzu

Application Configuration Service för Tanzu är en av de kommersiella VMware Tanzu-komponenterna. Programkonfigurationstjänsten för Tanzu är Kubernetes-inbyggd och skiljer sig från Spring Cloud Config Server. Programkonfigurationstjänsten för Tanzu möjliggör hantering av Kubernetes-inbyggda ConfigMap-resurser som fylls i från egenskaper som definierats i en eller flera Git-lagringsplatser.

På Enterprise-nivån finns det ingen Spring Cloud Config Server, men du kan använda Application Configuration Service för Tanzu för att hantera centraliserade konfigurationer. Mer information finns i Använda programkonfigurationstjänsten för Tanzu

Om du vill använda Application Configuration Service för Tanzu gör du följande för var och en av dina appar:

  1. Lägg till en explicit appbindning för att deklarera att din app måste använda Application Configuration Service för Tanzu.

    Kommentar

    När du ändrar bindnings-/avbindningsstatusen måste du starta om eller distribuera om appen för att ändringen ska börja gälla.

  2. Ange konfigurationsfilmönster. Med konfigurationsfilmönster kan du välja vilket program och vilken profil appen använder. Mer information finns i avsnittet Mönster i Använd programkonfigurationstjänst för Tanzu.

    Ett annat alternativ är att ange config-filmönstren samtidigt som appdistributionen, som du ser i följande exempel:

    az spring app deploy \
        --name <app-name> \
        --artifact-path <path-to-your-JAR-file> \
        --config-file-pattern <config-file-pattern>
    

Programkonfigurationstjänsten för Tanzu körs på Kubernetes. För att möjliggöra en transparent lokal utvecklingsupplevelse ger vi följande förslag.

  • Om du redan har en Git-lagringsplats för att lagra din externaliserade konfiguration kan du konfigurera Spring Cloud Config Server lokalt som den centraliserade konfigurationen för ditt program. När konfigurationsservern har startat klonar den Git-lagringsplatsen och tillhandahåller lagringsplatsens innehåll via sin webbstyrenhet. Mer information finns i Spring Cloud Config i Spring-dokumentationen. Ger spring-cloud-config-client möjlighet för ditt program att automatiskt hämta den externa konfigurationen från konfigurationsservern.

  • Om du inte har någon Git-lagringsplats eller om du inte vill konfigurera Config Server lokalt kan du använda konfigurationsfilen direkt i projektet. Vi rekommenderar att du använder en profil för att isolera konfigurationsfilen så att den endast används i utvecklingsmiljön. Använd till exempel dev som profil. Sedan kan du skapa en application-dev.yml fil i mappen src/main/resource för att lagra konfigurationen. Starta appen lokalt med --spring.profiles.active=devför att få appen att använda den här konfigurationen.

Tanzu Service Registry

VMware Tanzu® Service Registry är en av de kommersiella VMware Tanzu-komponenterna. Tanzu Service Registry tillhandahåller dina appar på företagsnivå med en implementering av Service Discovery-mönstret, en av de viktigaste grundsatserna i en mikrotjänstbaserad arkitektur. Dina appar kan använda Tanzu Service Registry för att dynamiskt identifiera och anropa registrerade tjänster. Att använda Tanzu Service Registry är att föredra framför att handkonfigurera varje klient för en tjänst, vilket kan vara svårt, eller att anta någon form av åtkomstkonvention, som kan vara skör i produktionen. Mer information finns i Använda Tanzu Service Registry.

Migrera Spring Cloud Vault-hemligheter till Azure KeyVault

Du kan mata in hemligheter direkt i program via Spring med hjälp av Azure KeyVault Spring Boot Starter. Mer information finns i Använda Spring Boot Starter för Azure Key Vault.

Kommentar

Migrering kan kräva att du byter namn på vissa hemligheter. Uppdatera programkoden i enlighet med detta.

Migrera alla certifikat till KeyVault

Azure Spring Apps ger inte åtkomst till JRE-nyckelarkivet, så du måste migrera certifikat till Azure KeyVault och ändra programkoden för att få åtkomst till certifikat i KeyVault. Mer information finns i Komma igång med Key Vault-certifikat och Azure Key Vault-certifikatklientbibliotek för Java.

Konfigurera APM-integreringar (Application Performance Management)

Azure Spring Apps erbjuder följande APM-integreringar. Följ länkarna för att aktivera den APM du behöver:

Om ditt program inte använder en APM som stöds kan du överväga att använda Application Insights i stället. Azure Spring Apps erbjuder djupgående integrering med Application Insights för prestandahantering och realtidssvar på avvikelser.

Inaktivera måttklienter och slutpunkter i dina program

Ta bort alla måttklienter som används eller eventuella måttslutpunkter som exponeras i dina program.

Distribuera tjänsterna

Distribuera var och en av de migrerade Spring-apparna (inklusive Spring Cloud Config- och Registry-servrarna), enligt beskrivningen i Snabbstart: Distribuera ditt första program till Azure Spring Apps.

Konfigurera hemligheter per tjänst och externaliserade inställningar

Du kan mata in alla konfigurationsinställningar per tjänst i varje tjänst som miljövariabler. Använd följande steg i Azure-portalen:

  1. Gå till Azure Spring Apps-instansen och välj Appar.
  2. Välj den tjänst som ska konfigureras.
  3. Välj Konfiguration.
  4. Ange de variabler som ska konfigureras.
  5. Välj Spara.

Spring Cloud App Configuration Settings

Migrera och aktivera identitetsprovidern

Om något av Spring Cloud-programmen kräver autentisering eller auktorisering kontrollerar du att de är konfigurerade för åtkomst till identitetsprovidern:

  • Om identitetsprovidern är Microsoft Entra-ID bör inga ändringar behövas.
  • Om identitetsprovidern är en lokal Active Directory skog bör du överväga att implementera en hybrididentitetslösning med Microsoft Entra-ID. Vägledning finns i dokumentationen om hybrididentiteter.
  • Om identitetsprovidern är en annan lokal lösning, till exempel PingFederate, läser du avsnittet Anpassad installation av Microsoft Entra Anslut för att konfigurera federation med Microsoft Entra-ID. Du kan också överväga att använda Spring Security för att använda din identitetsprovider via OAuth2/OpenID Anslut eller SAML.

Uppdatera klientprogram

Uppdatera konfigurationen av alla klientprogram så att de använder de publicerade Azure Spring Apps-slutpunkterna för migrerade program.

Efter migreringen

  • Överväg att lägga till en distributionspipeline för automatiska och konsekventa distributioner. Instruktioner är tillgängliga för Azure Pipelines, för GitHub Actions och för Jenkins.

  • Överväg att använda mellanlagringsdistributioner för att testa kodändringar i produktion innan de är tillgängliga för vissa eller alla dina slutanvändare. Mer information finns i Konfigurera en mellanlagringsmiljö i Azure Spring Apps.

  • Överväg att lägga till tjänstbindningar för att ansluta ditt program till Azure-databaser som stöds. Dessa tjänstbindningar eliminerar behovet av att tillhandahålla anslutningsinformation, inklusive autentiseringsuppgifter, till dina Spring Cloud-program.

  • Överväg att använda Azure Application Insights för att övervaka prestanda och interaktioner för dina program. Mer information finns i Application Insights Java In-Process Agent i Azure Spring Apps.

  • Överväg att lägga till Azure Monitor-aviseringsregler och åtgärdsgrupper för att snabbt identifiera och hantera avvikande villkor. Mer information finns i Självstudie: Övervaka Spring Cloud-resurser med hjälp av aviseringar och åtgärdsgrupper.

  • Överväg att replikera Azure Spring Apps-distributionen i en annan region för lägre svarstid och högre tillförlitlighet och feltolerans. Använd Azure Traffic Manager för att belastningsutjämna mellan distributioner eller använda Azure Front Door för att lägga till SSL-avlastning och brandvägg för webbprogram med DDoS-skydd.

  • Om geo-replikering inte behövs kan du överväga att lägga till en Azure Application Gateway för att lägga till SSL-avlastning och brandvägg för webbprogram med DDoS-skydd.

  • Om dina program använder äldre Spring Cloud Netflix-komponenter kan du överväga att ersätta dem med aktuella alternativ:

    Äldre Befintliga
    Spring Cloud Eureka Spring Cloud Service Registry
    Spring Cloud Netflix Zuul Spring Cloud Gateway
    Spring Cloud Netflix Archaius Spring Cloud Config Server
    Spring Cloud Netflix-menyfliksområdet Spring Cloud Load Balancer (lastbalanserare på klientsidan)
    Spring Cloud Hystrix Spring Cloud Circuit Breaker + Resilience4J
    Spring Cloud Netflix Turbine Mikrometer + Prometheus