Partilhar via


Migrar o Eureka Server ou o Tanzu Service Registry para o Eureka Server for Spring gerenciado nos Aplicativos de Contêiner do Azure

Nota

Os planos Basic, Standard e Enterprise serão preteridos a partir de meados de março de 2025, com um período de aposentadoria de 3 anos. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para obter mais informações, consulte o anúncio de aposentadoria do Azure Spring Apps.

O plano de consumo padrão e dedicado será preterido a partir de 30 de setembro de 2024, com um desligamento completo após seis meses. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para obter mais informações, consulte Migrar consumo padrão e plano dedicado do Azure Spring Apps para Aplicativos de Contêiner do Azure.

Este artigo aplica-se a:✅ Basic/Standard ✅ Enterprise

Este artigo descreve como migrar o Eureka Server para o Eureka Server for Spring em Aplicativos de Contêiner do Azure.

O Eureka Server for Spring gerenciado do Azure Container Apps oferece uma experiência semelhante ao Azure Spring Apps. Ele permite que você implante aplicativos Spring existentes sem modificar seu código-fonte e registrá-los com o servidor Eureka gerenciado.

Pré-requisitos

  • Uma instância de plano existente do Azure Spring Apps Enterprise com o Registro de Serviço Tanzu habilitado.
  • Um ambiente de aplicativo de contêiner do Azure existente usado para implantar aplicativos. Para obter mais informações, consulte Provisionar aplicativos de contêiner do Azure.
  • Uma imagem de contêiner do aplicativo agindo como um cliente Eureka. Se necessário, você pode usar a imagem mcr.microsoft.com/javacomponents/samples/sample-service-eureka-client:latestde exemplo .
  • CLI do Azure.

Provisionamento gerenciado do Eureka Server for Spring

Para usar o Managed Eureka Server for Spring, primeiro você precisa criar o componente Eureka Server em seu ambiente de Aplicativos de Contêiner do Azure.

Para criar o Eureka Server gerenciado para o Spring, use as seguintes etapas:

  1. Para criar o componente Eureka Server for Spring Java, use o seguinte comando:

    az containerapp env java-component eureka-server-for-spring create \
        --resource-group $RESOURCE_GROUP \
        --name $EUREKA_COMPONENT_NAME \
        --environment $ENVIRONMENT
    
  2. (Opcional) Para atualizar a configuração do componente Eureka Server for Spring Java, use o seguinte comando:

    az containerapp env java-component eureka-server-for-spring update \
        --resource-group $RESOURCE_GROUP \
        --name $EUREKA_COMPONENT_NAME \
        --environment $ENVIRONMENT \
        --configuration eureka.server.renewal-percent-threshold=0.85 eureka.server.eviction-interval-timer-in-ms=10000
    

Quando você exclui o Servidor Eureka gerenciado por meio do portal do Azure, os Aplicativos de Contêiner do Azure desvinculam automaticamente todos os aplicativos de contêiner registrados com ele e excluem o Servidor Eureka gerenciado. Esse comportamento difere do Plano Empresarial do Azure Spring Apps, onde você deve desvincular manualmente os serviços antes de excluir o Registro de Serviço Tanzu.

Alocação de recursos e preços

A alocação de recursos de contêiner para o Servidor Eureka gerenciado nos Aplicativos de Contêiner do Azure é fixada com os seguintes valores:

  • CPU: 0.5 vCPU
  • Memória: 1 Gi
  • Réplicas: 1 - não escalável

Em comparação, o Registro do Serviço de Plano Empresarial do Azure Spring Apps também provisiona recursos fixos, mas inclui duas réplicas, cada uma com 0,5 vCPU e 1 Gi de memória.

Ao contrário dos planos Básico/Standard nos Azure Spring Apps, que não são cobrados, o Eureka Server for Spring gerenciado nos Aplicativos de Contêiner do Azure opera com preços baseados no consumo. Este preço é semelhante ao preço do Plano Empresarial do Azure Spring Apps.

Para obter mais informações, consulte a seção Considerações do Tutorial: Conectar-se a um Servidor Eureka gerenciado para Spring em Aplicativos de Contêiner do Azure.

Implantar e vincular um aplicativo

Depois de provisionar o Servidor Eureka gerenciado para Spring, você pode implantar seu aplicativo Spring em Aplicativos de Contêiner do Azure e vinculá-lo ao Servidor Eureka. Este processo é semelhante ao funcionamento do Plano Empresarial nas Aplicações Azure Spring. Especificamente, você precisa vincular seu aplicativo ao Servidor Eureka, que é diferente do Plano Básico/Padrão do Azure Spring Apps, onde nenhuma vinculação é necessária.

Nota

Se você não estiver usando a imagem mcr.microsoft.com/javacomponents/samples/sample-service-eureka-client:latest de exemplo para implantar um aplicativo, talvez seja necessário fazer alguma configuração para habilitar os Aplicativos de Contêiner do Azure para extrair imagens do seu registro de contêiner. Por exemplo, para preparar as permissões necessárias para extrair imagens do Azure Container Registry (ACR), consulte a seção Criar um Registro de Contêiner do Azure do Tutorial: Criar e implantar seu aplicativo em Aplicativos de Contêiner do Azure.

Implementar a aplicação

Use o seguinte comando para criar um aplicativo de contêiner:

az containerapp create \
    --resource-group $RESOURCE_GROUP \
    --name $APP_NAME \
    --environment $ENVIRONMENT \
    --image $IMAGE \
    --min-replicas 1 \
    --max-replicas 1 \
    --ingress external \
    --target-port 8080 \
    --query properties.configuration.ingress.fqdn

Vincular o aplicativo

Depois de criar o aplicativo com êxito, você pode vinculá-lo ao servidor Eureka gerenciado.

Use o seguinte comando para vincular o aplicativo criado ao servidor Eureka:

az containerapp update \
    --resource-group $RESOURCE_GROUP \
    --name $APP_NAME \
    --bind $EUREKA_COMPONENT_NAME \
    --query properties.configuration.ingress.fqdn

A associação injeta várias configurações no aplicativo como variáveis de ambiente, principalmente a eureka.client.service-url.defaultZone propriedade. Esta propriedade indica o ponto de extremidade interno do componente Java do Eureka Server. Para obter mais informações sobre outras propriedades, consulte a seção Vincular seu aplicativo de contêiner ao componente Java do Eureka Server for Spring em Conectar a um servidor Eureka gerenciado para Spring em aplicativos de contêiner do Azure.

Se você precisar desvincular seu aplicativo do Eureka Server, consulte a seção Desvincular seu aplicativo contêiner do componente Java do Eureka Server for Spring de Conectar-se a um Eureka Server gerenciado para Spring em Aplicativos de Contêiner do Azure.

Ver as aplicações registadas com um dashboard

Depois de criar com êxito a sua aplicação e associá-la ao servidor Eureka, pode visualizar as aplicações registadas através de um painel de gestão. Para obter mais informações, consulte a seção Exibir o aplicativo por meio de um painel de Conectar-se a um Servidor Eureka gerenciado para Spring em Aplicativos de Contêiner do Azure.

A captura de tela a seguir mostra um exemplo da aparência do painel do Eureka Server:

Captura de ecrã do painel do Eureka Server.

Resolução de Problemas

Você pode exibir logs para o Eureka Server for Spring gerenciado em Aplicativos de Contêiner do Azure usando o Log Analytics, que funciona de forma semelhante ao mecanismo de log no Azure Spring Apps.

Para exibir os logs gerenciados do Eureka Server for Spring nos Aplicativos de Contêiner do Azure, use as seguintes etapas:

  1. Vá para a página Ambiente do aplicativo de contêiner.

  2. Vá para Opções de Monitoramento>de Log e, em Destino de Logs, verifique se o Azure Log Analytics está selecionado.

  3. Vá para Logs de monitoramento>.

  4. (Opcional) Se o escopo da análise de log não corresponder ao configurado nas opções de registro, selecione Selecionar escopo para escolher o espaço de trabalho de análise de log correto.

  5. Insira sua consulta no editor de consultas para exibir logs da tabela ContainerAppSystemLogs_CL , conforme mostrado no exemplo a seguir:

    ContainerAppSystemLogs_CL
    | where ComponentType_s == "SpringCloudEureka"
    | project Time=TimeGenerated, ComponentName=ComponentName_s, Message=Log_s
    | take 100
    

    Captura de ecrã da análise de registos de consulta para o Eureka Server.

Para obter mais informações sobre como consultar logs usando a CLI do Azure, consulte Monitorar logs em aplicativos de contêiner do Azure com o Log Analytics.

Limitações conhecidas

  • Acesso externo: o Eureka Server for Spring gerenciado nos Aplicativos de Contêiner do Azure não pode ser acessado externamente.
  • Tráfego de revisão: no modo de revisão múltipla dos Aplicativos de Contêiner do Azure, todas as réplicas do aplicativo registrado no Eureka recebem tráfego.

Mais recursos

Para obter mais informações sobre como gerenciar o Servidor Eureka em Aplicativos de Contêiner do Azure, consulte Tutorial: Conectar-se a um Servidor Eureka gerenciado para Spring em Aplicativos de Contêiner do Azure.