Todos os produtos
Search
Central de documentação

Microservices Engine:Configure graceful start and shutdown in YAML

Última atualização: Jun 28, 2026

Durante releases, dimensionamentos e reinicializações, as instâncias de microsserviços ficam offline e voltam a ficar online. Sem proteção, novas instâncias recebem requisições antes da conclusão da inicialização, e instâncias em processo de encerramento perdem requisições em andamento. O Microservices Engine (MSE) evita a perda de tráfego nessas transições por meio de registro de serviço atrasado, aumento gradual de tráfego baseado em warmup e notificação proativa aos consumidores. Configure esses comportamentos adicionando rótulos ao YAML do seu Deployment no Kubernetes.

Importante

A alteração desses rótulos aciona uma reinicialização imediata do pod. Aplique as mudanças durante uma janela de manutenção ou utilize uma estratégia de atualização contínua para evitar interrupções no serviço.

Como funciona

A inicialização graceful controla como uma nova instância recebe tráfego:

  1. Após o início da aplicação, o MSE aguarda o período de atraso (delayTime) antes de registrar o serviço no Microservices Registry. Isso concede tempo à aplicação para concluir tarefas de inicialização, como carregar configurações, estabelecer conexões com banco de dados ou criar caches.

  2. Depois do registro, o MSE aumenta gradualmente o tráfego para a instância durante o período de warmup (warmupTime), em vez de enviar todo o tráfego imediatamente. Essa abordagem permite que caches, pools de conexão e a compilação JIT se aqueçam sob uma carga crescente.

App starts --> [delayTime] --> Service registered --> [warmupTime] --> Full traffic
               wait before     registry sees the      gradual
               registering     instance               ramp-up

O encerramento graceful protege o tráfego quando uma instância é finalizada:

  1. Quando a notificação de encerramento está ativada (notice), o MSE notifica proativamente os consumidores para pararem de enviar novas requisições à instância em encerramento.

Parâmetros

Adicione os seguintes rótulos em spec.template.metadata.labels no YAML do seu Deployment. Todos os valores devem ser strings entre aspas.

Parâmetro

Descrição

Padrão

mse.lossless.enable

Ativa a inicialização graceful. Valores válidos: 'true', 'false'.

'false'

mse.lossless.delayTime

Atraso de registro em segundos. O MSE aguarda esse período após o início da aplicação antes de registrar o serviço no Microservices Registry.

'0'

mse.lossless.warmupTime

Duração do warmup em segundos. Após o registro do serviço, o MSE aumenta gradualmente o tráfego para a instância ao longo desse período.

'120'

mse.lossless.notice

Ativa a notificação de encerramento. Quando definido como 'true', o MSE notifica os consumidores para interromperem o roteamento de tráfego para o provedor antes do desligamento. Valores válidos: 'true', 'false'.

'false'

Configure a inicialização e o encerramento graceful

Pré-requisitos

Antes de começar, verifique se você tem:

Adicionar rótulos do MSE ao seu Deployment

  1. Abra o YAML do Deployment da sua aplicação na página Workloads.

  2. Inclua os rótulos do MSE em spec.template.metadata.labels e substitua os placeholders abaixo pelos seus valores:

    Placeholder

    Descrição

    <your-app-name>

    Nome da sua aplicação

    <your-image>

    Imagem do seu contêiner

       apiVersion: apps/v1
       kind: Deployment
       metadata:
         name: <your-app-name>
       spec:
         replicas: 3
         selector:
           matchLabels:
             app: <your-app-name>
         template:
           metadata:
             labels:
               app: <your-app-name>
               # Graceful start and shutdown configuration
               mse.lossless.enable: 'true'
               mse.lossless.delayTime: '30'
               mse.lossless.warmupTime: '60'
               mse.lossless.notice: 'false'
           spec:
             containers:
             - name: <your-app-name>
               image: <your-image>
  3. Salve e aplique o YAML. A aplicação reinicia com a nova configuração.

Nota

Se você não configurar esses parâmetros no YAML, o sistema usará automaticamente os valores padrão listados na tabela de parâmetros. Caso também modifique a regra no console do MSE, a configuração do YAML terá precedência. Após a próxima reinicialização, os rótulos do YAML substituirão as definições do console.

Verifique a configuração

  1. Faça login no console do MSE e selecione uma região.

  2. No painel de navegação à esquerda, escolha Microservices Governance > Application Governance.

  3. Na página Application list, clique em no cartão de recurso da aplicação desejada.

  4. No painel de navegação à esquerda, clique em Traffic management e, em seguida, clique em na aba Graceful Start/Shutdown.

  5. Confirme se os valores dos parâmetros correspondem à sua configuração YAML. Durante o próximo evento de inicialização ou encerramento, os eventos e o gráfico de tendência de QPS nesta aba refletirão o comportamento de warmup e notificação configurados.

Tópicos relacionados