Delen via


Spring Cloud-toepassingen migreren naar Azure Container Apps

In deze handleiding wordt beschreven waar u rekening mee moet houden wanneer u een bestaande Spring Cloud-toepassing wilt migreren om te worden uitgevoerd in Azure Container Apps.

Premigratie

Voltooi voordat u begint de evaluatie- en inventarisstappen die in de volgende secties worden beschreven om een geslaagde migratie te garanderen.

Als u niet aan een van deze vereisten vóór de migratie kunt voldoen, raadpleegt u de volgende aanvullende migratiehandleidingen:

  • Uitvoerbare JAR-toepassingen migreren naar containers in Azure Kubernetes Service (handleiding gepland)
  • Uitvoerbare JAR-toepassingen migreren naar Azure Virtual Machines (handleiding gepland)

Toepassingsonderdelen inspecteren

Nagaan of en hoe het bestandssysteem wordt gebruikt

Zoek alle exemplaren waar uw services schrijven naar en/of lezen vanuit het lokale bestandssysteem. Bepaal waar korte-termijn-/tijdelijke bestanden worden geschreven en gelezen en waar langlevende bestanden worden geschreven en gelezen.

Azure Container Apps biedt verschillende typen opslag. Tijdelijke opslag kan tijdelijke gegevens lezen en schrijven en beschikbaar zijn voor een actieve container of replica. Azure File biedt permanente opslag en kan worden gedeeld tussen meerdere containers. Zie Opslagkoppelingen gebruiken in Azure Container Apps voor meer informatie.

Statische alleen-lezeninhoud

Als uw toepassing momenteel statische inhoud bedient, hebt u een alternatieve locatie nodig. U kunt overwegen statische inhoud te verplaatsen naar Azure Blob Storage en Azure CDN toe te voegen voor razendsnelle downloads wereldwijd. Zie statische websitehosting in Azure Storage en quickstart: Een Azure-opslagaccount integreren met Azure CDN voor meer informatie.

Dynamisch gepubliceerde statische inhoud

Als uw toepassing statische inhoud ondersteunt, ongeacht of deze is geüpload of gegenereerd door de toepassing zelf, die na het maken ongewijzigd blijft, kunt u Azure Blob Storage en Azure CDN integreren. U kunt ook een Azure-functie gebruiken om uploads te beheren en CDN-vernieuwingen te activeren wanneer dat nodig is. U vindt een voorbeeldimplementatie voor gebruik in Statische inhoud uploaden en via CDN vooraf laden met Azure Functions.

Bepalen of een van de services besturingssysteemspecifieke code bevat

Als uw toepassing code bevat met afhankelijkheden van het host-besturingssysteem, moet u deze herstructureren om deze afhankelijkheden te verwijderen. U moet bijvoorbeeld het gebruik van / of \ in bestandssysteempaden vervangen door File.Separator of Paths.get als uw toepassing wordt uitgevoerd in Windows.

Overschakelen naar een ondersteund platform

Als u uw Dockerfile handmatig maakt en een containertoepassing implementeert in Azure Container Apps, hebt u volledige controle over uw implementatie, inclusief JRE/JDK-versies.

Voor implementatie van artefacten biedt Azure Container Apps ook specifieke versies van Java (8, 11, 17 en 21) en specifieke versies van Spring Boot- en Spring Cloud-onderdelen. Om compatibiliteit te garanderen, migreert u eerst uw toepassing naar een van de ondersteunde versies van Java in de huidige omgeving en gaat u vervolgens verder met de resterende migratiestappen. Zorg ervoor dat de uiteindelijke configuratie volledig wordt getest. Gebruik in dergelijke tests de laatste stabiele versie van uw Linux-distributie.

Notitie

Deze validatie is vooral belangrijk als uw huidige server wordt uitgevoerd in een niet-ondersteunde JDK (zoals Oracle JDK of IBM OpenJ9).

Meld u aan bij uw productieserver en voer de volgende opdracht uit om uw huidige Java-versie te verkrijgen:

java -version

Zie het overzicht van Java in Azure Container Apps voor ondersteunde versies van Java, Spring Boot en Spring Cloud, evenals instructies voor het bijwerken.

Spring Boot-versies identificeren

Bekijk de afhankelijkheden van elke toepassing die wordt gemigreerd om de Spring Boot-versie te bepalen.

Maven

In Maven-projecten wordt de Spring Boot-versie meestal gevonden in het <parent> element van het POM-bestand:

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

In Gradle-projecten wordt de Spring Boot-versie meestal gevonden in de plugins sectie, als de versie van de org.springframework.boot invoegtoepassing:

plugins {
  id 'org.springframework.boot' version '3.3.3'
  id 'io.spring.dependency-management' version '1.1.6'
  id 'java'
}

Voor alle toepassingen die Spring Boot-versies vóór 3.x gebruiken, volgt u de Spring Boot 2.0-migratiehandleiding of Spring Boot 3.0-migratiehandleiding om deze bij te werken naar een ondersteunde Spring Boot-versie. Zie de Spring Cloud-documentatie voor ondersteunde versies.

Spring Cloud-versies identificeren

Bekijk de afhankelijkheden van elke toepassing die u migreert om te bepalen welke versie van de Spring Cloud-onderdelen deze gebruikt.

Maven

In Maven-projecten wordt de Spring Cloud-versie meestal ingesteld in de spring-cloud.version eigenschap:

  <properties>
    <spring-cloud.version>2023.0.2</spring-cloud.version>
  </properties>
Gradle

In Gradle-projecten wordt de Spring Cloud-versie meestal ingesteld in het blok 'extra eigenschappen':

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

U moet alle toepassingen bijwerken voor het gebruik van ondersteunde versies van Spring Cloud. Zie de Spring Cloud-documentatie voor ondersteunde versies.

Oplossingen voor logboekaggregatie identificeren

Identificeer eventuele oplossingen voor logboekaggregatie die worden gebruikt door de toepassingen die u migreert. U moet diagnostische instellingen configureren in de migratie om geregistreerde gebeurtenissen beschikbaar te maken voor gebruik. Zie de sectie Logboekregistratie van de console controleren en diagnostische instellingen configureren voor meer informatie.

APM-agents (Application Performance Management) identificeren

Identificeer alle agents voor het beheer van toepassingsprestaties die door uw toepassingen worden gebruikt. Azure Containers Apps biedt geen ingebouwde ondersteuning voor APM-integratie. U moet uw containerinstallatiekopieën voorbereiden of APM-hulpprogramma rechtstreeks integreren in uw code. Als u de prestaties van uw toepassing wilt meten, maar nog geen APM hebt geïntegreerd, kunt u overwegen om Azure-toepassing Insights te gebruiken. Zie de sectie Migratie voor meer informatie.

Externe resources inventariseren

Identificeer externe resources, zoals gegevensbronnen, JMS-bericht-brokers en URL's van andere services. In Spring Cloud-toepassingen kunt u doorgaans de configuratie voor dergelijke resources vinden op een van de volgende locaties:

  • In de map src/main/resources, in een bestand met de naam application.properties of application.yml.
  • In de Spring Cloud Config Server-opslagplaats die u in de vorige stap hebt geïdentificeerd.

Databases

Voor een Spring Boot-toepassing worden verbindingsreeks meestal weergegeven in configuratiebestanden wanneer deze afhankelijk is van een externe database. Hier volgt een voorbeeld van een application.properties-bestand:

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

Hier volgt een voorbeeld van een application.yaml-bestand:

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

Raadpleeg de Spring Data-documentatie voor meer mogelijke configuratiescenario's:

JMS-berichtbrokers

Identificeer de broker of brokers die in gebruik zijn door te zoeken in het buildmanifest (meestal een pom.xml - of build.gradle-bestand ) voor de relevante afhankelijkheden.

Een Spring Boot-toepassing die Gebruikmaakt van ActiveMQ bevat bijvoorbeeld meestal deze afhankelijkheid in het pom.xml-bestand :

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

Spring Boot-toepassingen die commerciële brokers gebruiken, bevatten doorgaans rechtstreeks afhankelijkheden in de JMS-stuurprogrammabibliotheken van de brokers. Hier volgt een voorbeeld van een build.gradle-bestand:

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

Nadat u de broker of brokers hebt geïdentificeerd die in gebruik zijn, zoekt u de bijbehorende instellingen. In Spring Cloud-toepassingen kunt u ze meestal vinden in de application.properties en application.yml bestanden in de toepassingsmap of in de Spring Cloud Config Server-opslagplaats.

Hier volgt een ActiveMQ-voorbeeld uit een bestand 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

Zie de Spring Boot Messaging-documentatie voor meer informatie over de ActiveMQ-configuratie.

Hier volgt een IBM MQ-voorbeeld uit een application.yaml-bestand :

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

Zie de documentatie voor IBM MQ Spring-onderdelen voor meer informatie over de IBM MQ MQ-configuratie.

Externe caches identificeren

Identificeer eventuele externe caches die in gebruik zijn. Redis wordt vaak gebruikt via Spring Data Redis. Zie de Spring Data Redis-documentatie voor configuratie-informatie.

Bepaal of sessiegegevens worden opgeslagen in de cache via Spring Session door te zoeken naar de respectieve configuratie (in Java of XML).

Id-providers

Identificeer alle id-providers en alle Spring Cloud-toepassingen waarvoor verificatie en/of autorisatie is vereist. Zie de volgende bronnen voor informatie over hoe u id-providers kunt configureren:

Resources die zijn geconfigureerd via VMware Tanzu Application Service (TAS) (voorheen Pivotal Cloud Foundry)

Voor toepassingen die worden beheerd met TAS, worden externe resources, inclusief de eerder beschreven resources, vaak geconfigureerd via TAS-servicebindingen. Als u de configuratie voor dergelijke resources wilt onderzoeken, gebruikt u de TAS -CLI (Cloud Foundry) om de VCAP_SERVICES variabele voor de toepassing weer te geven.

# 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>

Bekijk de VCAP_SERVICES variabele voor configuratie-instellingen van externe services die zijn gebonden aan de toepassing. Zie de DOCUMENTATIE van TAS (Cloud Foundry) voor meer informatie.

Alle andere externe resources

Het is niet haalbaar voor deze handleiding om elke mogelijke externe afhankelijkheid te documenteren. Na de migratie is het uw verantwoordelijkheid om te controleren of u aan elke externe afhankelijkheid van uw toepassing kunt voldoen.

Inventarisconfiguratiebronnen en -geheimen

Wachtwoorden en beveiligde tekenreeksen inventariseren

Controleer alle eigenschappen en configuratiebestanden en alle omgevingsvariabelen in de productie-implementaties op geheime tekenreeksen en wachtwoorden. In een Spring Cloud-toepassing kunt u dergelijke tekenreeksen meestal vinden in de application.properties of application.yml bestand in afzonderlijke services of in de Spring Cloud Config Server-opslagplaats.

Certificaten inventariseren

Documenteer alle certificaten die worden gebruikt voor openbare SSL-eindpunten of communicatie met back-enddatabases en andere systemen. U kunt alle certificaten op de productieserver(s) weergeven door de volgende opdracht uit te voeren:

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

Bepalen of Spring Cloud Vault wordt gebruikt

Als u Spring Cloud Vault gebruikt om geheimen op te slaan en te openen, identificeert u het backing-geheimarchief (bijvoorbeeld HashiCorp Vault of CredHub). Identificeer vervolgens alle geheimen die door de toepassingscode worden gebruikt.

De bron van de configuratieserver zoeken

Als uw toepassing gebruikmaakt van een Spring Cloud-configuratieserver, identificeert u waar de configuratie is opgeslagen. Meestal vindt u deze instelling in het bestand bootstrap.yml of bootstrap.properties , of soms in het bestand application.yml of application.properties . De instelling ziet er als volgt uit:

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

Hoewel Git het meest wordt gebruikt als het back-upgegevensarchief van Spring Cloud Config Server, zoals eerder wordt weergegeven, kan een van de andere mogelijke back-ends worden gebruikt. Raadpleeg de documentatie van spring Cloud Config Server voor informatie over andere back-ends, zoals Relationele Database (JDBC), SVN en het lokale bestandssysteem.

De implementatiearchitectuur controleren

Hardwarevereisten voor elke service documenteer

Documenteer de volgende informatie voor elk van uw Spring Cloud-services (niet inclusief de configuratieserver, het register of de gateway):

  • Het aantal exemplaren dat wordt uitgevoerd.
  • Het aantal CPU's dat aan elk exemplaar is toegewezen.
  • De hoeveelheid RAM die aan elk exemplaar is toegewezen.

Geo-replicatie/distributie document

Bepaal of de Spring Cloud-toepassingen momenteel worden gedistribueerd tussen verschillende regio's of datacenters. Documenteer de uptimevereisten/SLA voor de toepassingen die u migreert.

Clients identificeren die het serviceregister omzeilen

Identificeer clienttoepassingen die een van de services aanroepen die moeten worden gemigreerd zonder het Spring Cloud-serviceregister te gebruiken. Na de migratie zijn dergelijke aanroepen niet meer mogelijk. Werk dergelijke clients bij voor het gebruik van Spring Cloud OpenFeign vóór de migratie.

Migratie

Beperkte configuraties verwijderen

De Azure Container Apps-omgeving biedt beheerde Eureka Server, Spring Cloud-configuratieserver en beheerder. Wanneer een toepassing is gebonden aan het Java-onderdeel, injecteert Azure Container Apps gerelateerde eigenschappen als systeemomgevingsvariabelen. Volgens het ontwerp van spring Boot Externalized Configuration worden toepassingseigenschappen die zijn gedefinieerd in uw code of verpakt in artefacten overschreven door omgevingsvariabelen van het systeem.

Als u een van de volgende eigenschappen instelt via opdrachtregelargument, een Java-systeemeigenschap of de omgevingsvariabele van de container, moet u deze verwijderen om conflicten en onverwacht gedrag te voorkomen:

  • SPRING_CLOUD_CONFIG_COMPONENT_URI
  • SPRING_CLOUD_CONFIG_URI
  • SPRING_CONFIG_IMPORT
  • eureka.client.fetch-registry
  • eureka.client.service-url.defaultZone
  • eureka.instance.prefer-ip-address
  • eureka.client.register-with-eureka
  • SPRING_BOOT_ADMIN_CLIENT_INSTANCE_PREFER-IP
  • SPRING_BOOT_ADMIN_CLIENT_URL

Een door Azure Container Apps beheerde omgeving en apps maken

Richt een Azure Container Apps-app in uw Azure-abonnement in op een bestaande beheerde omgeving of maak een nieuwe app voor elke service die u migreert. U hoeft geen apps te maken die worden uitgevoerd als Spring Cloud-register- en configuratieservers. Zie voor meer informatie Quickstart: uw eerste container-app implementeren met behulp van Azure Portal.

De Spring Cloud-configuratieserver voorbereiden

Configureer de configuratieserver in uw Azure Container Apps for Spring-onderdeel. Zie Instellingen configureren voor de Configuratieserver voor Spring-onderdeel in Azure Container Apps voor meer informatie.

Notitie

Als uw huidige Spring Cloud-configuratieopslagplaats zich op het lokale bestandssysteem of on-premises bevindt, moet u eerst uw configuratiebestanden migreren of repliceren naar een cloudopslagplaats, zoals GitHub, Azure-opslagplaatsen of BitBucket.

Logboekregistratie van de console controleren en diagnostische instellingen configureren

Configureer uw logboekregistratie om ervoor te zorgen dat alle uitvoer naar de console wordt gerouteerd in plaats van naar bestanden.

Nadat een toepassing is geïmplementeerd in Azure Container Apps, kunt u de logboekregistratieopties in uw Container Apps-omgeving configureren om een of meer bestemmingen van de logboeken te definiëren. Deze bestemmingen kunnen Azure Monitor Log Analytics, Azure Event Hub of zelfs andere bewakingsoplossingen van derden omvatten. U hebt ook de mogelijkheid om logboekgegevens uit te schakelen en logboeken alleen tijdens runtime weer te geven. Zie Logboekopslag- en bewakingsopties in Azure Container Apps voor gedetailleerde configuratie-instructies.

Permanente opslag configureren

Als een deel van uw toepassing leest of schrijft naar het lokale bestandssysteem, moet u permanente opslag configureren om het lokale bestandssysteem te vervangen. U kunt het pad opgeven dat in de container moet worden gekoppeld via de app-instellingen en deze uitlijnen op het pad dat uw app gebruikt. Zie Opslagkoppelingen gebruiken in Azure Container Apps voor meer informatie.

Spring Cloud Vault-geheimen migreren naar Azure KeyVault

U kunt geheimen rechtstreeks in toepassingen injecteren via Spring met behulp van de Azure KeyVault Spring Boot Starter. Zie Spring Boot Starter voor Azure Key Vault gebruiken voor meer informatie.

Notitie

Voor migratie moet u mogelijk de naam van bepaalde geheimen wijzigen. Werk uw toepassingscode dienovereenkomstig bij.

Alle certificaten migreren naar KeyVault

Azure Containers Apps ondersteunt beveiligde communicatie tussen apps. Uw toepassing hoeft het proces voor het tot stand brengen van beveiligde communicatie niet te beheren. U kunt het privécertificaat uploaden naar Azure Container Apps of een gratis beheerd certificaat gebruiken dat wordt geleverd door Azure Container Apps. Het gebruik van Azure Key Vault voor het beheren van certificaten is een aanbevolen benadering. Zie Certificaten in Azure Container Apps voor meer informatie.

APM-integraties (Application Performance Management) configureren

Als u al APM-gerelateerde variabelen in de container hebt geconfigureerd, hoeft u alleen maar te controleren of de verbinding met het doel-APM-platform tot stand kan worden gebracht. Als de APM-configuratie verwijst naar omgevingsvariabelen uit de container, moet u de runtimeomgevingsvariabelen dienovereenkomstig instellen in Azure Container Apps. Gevoelige informatie, zoals de verbindingsreeks, moet veilig worden verwerkt. U kunt deze opgeven als een geheim of verwijzen naar een geheim dat is opgeslagen in Azure Key Vault.

Geheimen per service en externe instellingen configureren

U kunt configuratie-instellingen in elke container injecteren als omgevingsvariabelen. Wijzigingen in de variabelen maken een nieuwe revisie voor de bestaande app. Geheimen zijn sleutel-waardeparen en blijven geldig voor alle revisies.

De id-provider migreren en inschakelen

Als voor een van de Spring Cloud-toepassingen verificatie of autorisatie is vereist, gebruikt u de volgende richtlijnen om ervoor te zorgen dat deze zijn geconfigureerd voor toegang tot de id-provider:

  • Als de id-provider Microsoft Entra-id is, zijn er geen wijzigingen nodig.
  • Als de id-provider een on-premises Active Directory-forest is, kunt u overwegen om een hybride identiteitsoplossing met Microsoft Entra-id te implementeren. Zie de documentatie voor hybride identiteiten voor hulp.
  • Als de id-provider een andere on-premises oplossing is, zoals PingFederate, raadpleegt u de aangepaste installatie van Microsoft Entra Connect-onderwerp om federatie met Microsoft Entra-id te configureren. U kunt ook Spring Security gebruiken om uw id-provider te gebruiken via OAuth2/OpenID Connect of SAML.

Clienttoepassingen bijwerken

Werk de configuratie van alle clienttoepassingen bij voor het gebruik van de gepubliceerde Azure Container Apps-eindpunten voor gemigreerde toepassingen.

Postmigratie

Nu u de migratie hebt voltooid, controleert u of uw toepassing werkt zoals verwacht. U kunt uw toepassing vervolgens cloudeigender maken met behulp van de volgende aanbevelingen.

  • Overweeg uw toepassing in te schakelen voor gebruik met Spring Cloud Registry. Met dit onderdeel kan uw toepassing dynamisch worden gedetecteerd door andere geïmplementeerde Spring-toepassingen en -clients. Zie Instellingen configureren voor de Eureka Server voor Spring-onderdeel in Azure Container Apps voor meer informatie. Wijzig vervolgens alle toepassingsclients om de Spring Client Load Balancer te gebruiken. Met de Spring Client Load Balancer kan de client adressen verkrijgen van alle actieve exemplaren van de toepassing en een exemplaar zoeken dat werkt als een ander exemplaar beschadigd raakt of niet meer reageert. Zie Spring Tips: Spring Cloud Load Balancer in de Spring Blog voor meer informatie.

  • In plaats van uw toepassing openbaar te maken, kunt u overwegen een Spring Cloud Gateway-exemplaar toe te voegen. Spring Cloud Gateway biedt één eindpunt voor alle toepassingen die zijn geïmplementeerd in uw Azure Container Apps-omgeving. Als een Spring Cloud Gateway al is geïmplementeerd, moet u ervoor zorgen dat een routeringsregel is geconfigureerd om verkeer naar uw zojuist geïmplementeerde toepassing te routeren.

  • Overweeg om een Spring Cloud-configuratieserver toe te voegen voor centraal beheer en configuratie van versiebeheer voor al uw Spring Cloud-toepassingen. Maak eerst een Git-opslagplaats voor het huis van de configuratie en configureer het app-exemplaar om deze te gebruiken. Zie Instellingen configureren voor de Configuratieserver voor Spring-onderdeel in Azure Container Apps voor meer informatie. Migreer vervolgens uw configuratie met behulp van de volgende stappen:

    1. Maak in de map src/main/resources van de toepassing een bootstrap.yml-bestand met de volgende inhoud:

        spring:
          application:
            name: <your-application-name>
      
    2. Maak in de Git-opslagplaats voor de configuratie een <naam voor> uw toepassing.yml bestand, waar your-application-name hetzelfde is als in de vorige stap. Verplaats de instellingen van application.yml bestand in src/main/resources naar het nieuwe bestand dat u hebt gemaakt. Als de instellingen zich eerder in een .properties-bestand bevonden, converteert u deze eerst naar YAML. U vindt onlinehulpprogramma's of IntelliJ-invoegtoepassingen om deze conversie uit te voeren.

    3. Maak een application.yml-bestand in de bovenstaande map. U kunt dit bestand gebruiken om instellingen en resources te definiëren die worden gedeeld tussen alle toepassingen in de Azure Container Apps-omgeving. Dergelijke instellingen omvatten doorgaans gegevensbronnen, logboekregistratie-instellingen, Spring Boot Actuator-configuratie en andere.

    4. Voer deze wijzigingen door en push deze wijzigingen naar de Git-opslagplaats.

    5. Verwijder het bestand application.properties of application.yml uit de toepassing.

  • Overweeg om het beheerde onderdeel Beheerder voor Spring toe te voegen om een beheerinterface in te schakelen voor Spring Boot-webtoepassingen die actuatoreindpunten beschikbaar maken. Zie Het spring Boot-beheeronderdeel configureren in Azure Container Apps voor meer informatie.

  • Overweeg om een implementatiepijplijn toe te voegen voor automatische, consistente implementaties. Er zijn instructies beschikbaar voor Azure Pipelines en voor GitHub Actions.

  • Overweeg om revisies, revisielabels en gewichten voor inkomend verkeer te gebruiken om blauwgroene implementatie mogelijk te maken, zodat u codewijzigingen in productie kunt testen voordat ze beschikbaar worden gesteld aan sommige of alle eindgebruikers. Zie Blue-Green Deployment in Azure Container Apps voor meer informatie.

  • Overweeg servicebindingen toe te voegen om uw toepassing te verbinden met ondersteunde Azure-databases. Met deze servicebindingen hoeft u geen verbindingsgegevens, inclusief referenties, aan uw Spring Cloud-toepassingen op te geven.

  • Overweeg om de Java-ontwikkelingsstack in te schakelen voor het verzamelen van metrische JVM-kerngegevens voor uw toepassingen. Zie metrische Java-gegevens voor Java-apps in Azure Container Apps voor meer informatie.

  • Overweeg om waarschuwingsregels en actiegroepen van Azure Monitor toe te voegen om snel aberrante voorwaarden te detecteren en op te lossen. Zie Waarschuwingen instellen in Azure Container Apps voor meer informatie.

  • Overweeg om uw app over de zones in de regio te repliceren door redundantie van de Azure Container Apps-zone in te schakelen. Verkeer wordt gelijkmatig verdeeld en automatisch doorgestuurd naar replica's als er een zonestoring optreedt. Zie Betrouwbaarheid in Azure Container Apps voor meer informatie over redundante instellingen.

  • Overweeg om Azure Container Apps te beschermen tegen veelvoorkomende aanvallen en beveiligingsproblemen met behulp van Web Application Firewall in Application Gateway. Zie Azure Container Apps beveiligen met Web Application Firewall in Application Gateway voor meer informatie.

  • Als uw toepassingen verouderde Spring Cloud Netflix-onderdelen gebruiken, kunt u deze vervangen door huidige alternatieven, zoals wordt weergegeven in de volgende tabel:

    Verouderd Huidig
    Spring Cloud Eureka Spring Cloud-serviceregister
    Spring Cloud Netflix Zuul Spring Cloud Gateway
    Spring Cloud Netflix Archaius Spring Cloud-configuratieserver
    Spring Cloud Netflix-lint Spring Cloud Load Balancer (load balancer aan clientzijde)
    Spring Cloud Hystrix Spring Cloud Circuit Breaker + Resilience4J
    Spring Cloud Netflix Turbine Micrometer + Prometheus