Guia de início rápido: configurar o dimensionamento automático para aplicativos no consumo padrão e plano dedicado do Azure Spring Apps
Nota
Azure Spring Apps é o novo nome para o serviço Azure Spring Cloud. Embora o serviço tenha um novo nome, você verá o nome antigo em alguns lugares por um tempo enquanto trabalhamos para atualizar ativos, como capturas de tela, vídeos e diagramas.
Este artigo aplica-se a: ✔️ Consumo padrão e dedicado (Pré-visualização) ❌ Básico/Standard ❌ Enterprise
Este artigo descreve como configurar regras de dimensionamento automático para seus aplicativos no plano dedicado e de consumo padrão do Azure Spring Apps. O plano usa um ambiente de Aplicativos de Contêiner do Azure para hospedar seus aplicativos Spring e fornece o seguinte gerenciamento e suporte:
- Gerencia o dimensionamento horizontal automático por meio de um conjunto de regras de dimensionamento declarativo.
- Dá suporte a todas as regras de dimensionamento suportadas pelos Aplicativos de Contêiner do Azure.
Para obter mais informações, consulte a documentação dos Aplicativos de Contêiner do Azure.
Pré-requisitos
- Uma subscrição do Azure. Se você não tiver uma assinatura do Azure, consulte Conta gratuita do Azure antes de começar.
- Um consumo padrão do Azure Spring Apps e uma instância de serviço de plano dedicada. Para obter mais informações, consulte Guia de início rápido: provisionar um consumo padrão do Azure Spring Apps e instância de serviço de plano dedicado.
- Um aplicativo Spring implantado no Azure Spring Apps.
Definição da escala
O dimensionamento é definido pela combinação de limites e regras.
Os limites são o número mínimo e máximo de instâncias que o Spring permite.
Limite de escala Default value Valor mínimo Valor máximo Número mínimo de instâncias por implantação 5 0 30 Número máximo de instâncias por implantação 10 5 30 Por padrão, a contagem mínima de instâncias do seu aplicativo Spring é definida como 1 para garantir que sua implantação esteja sempre em execução. Se quiser dimensionar para zero, você pode definir a contagem mínima de instâncias como zero.
As regras são os critérios que o dimensionamento automático segue para adicionar ou remover instâncias. As regras de escala incluem HTTP, TCP e regras personalizadas, conforme descrito na seção Regras de escala de Definir regras de dimensionamento em Aplicativos de Contêiner do Azure.
Se você definir mais de uma regra de escala, o dimensionamento automático começará quando a primeira condição de qualquer regra for atendida.
O intervalo de sondagem e o período de resfriamento são dois períodos de tempo que ocorrem durante o dimensionamento automático.
- O intervalo de sondagem define o intervalo de tempo entre cada ação de sondagem de dados em tempo real, conforme definido pelas suas regras. O intervalo de sondagem é definido como 30 segundos por padrão.
- O período de resfriamento se aplica somente quando o dimensionamento para zero - por exemplo, para aguardar cinco minutos após a última vez que o dimensionamento automático verificou a fila de mensagens e ela estava vazia.
Configurar configurações de dimensionamento automático
Você pode configurar configurações de dimensionamento automático para seu aplicativo usando o portal do Azure ou a CLI do Azure.
Use as etapas a seguir para definir configurações e regras de dimensionamento automático.
- Inicie sessão no portal do Azure.
- Selecione Azure Spring Apps em Serviços do Azure.
- Na coluna Nome, selecione a instância do Azure Spring Apps que você deseja dimensionar automaticamente.
- Na página de visão geral da sua instância do Azure Spring Apps, selecione Aplicativos no painel de navegação.
- Selecione o aplicativo que você deseja dimensionar automaticamente.
- Na página de visão geral do aplicativo selecionado, selecione Expandir no painel de navegação.
- Na página Dimensionamento (Visualização), selecione a implantação que deseja dimensionar automaticamente.
- Configure os limites de instância de sua implantação.
- Selecione Adicionar para adicionar suas regras de escala.
Regras de dimensionamento personalizadas
Para obter informações sobre como definir regras personalizadas, consulte Escaladores Keda. As seções a seguir mostram dois exemplos de definição de regras de escala no MySQL e no Cron.
Configurar regras de dimensionamento automático no banco de dados MySQL
Os comandos da CLI a seguir mostram como dimensionar automaticamente seu aplicativo Spring com base no Keda MySQL Scaler. Primeiro, crie um segredo para armazenar sua cadeia de conexão SQL. Esse segredo é usado para sua autenticação de regra de escala. Em seguida, configure uma regra que dimensione o aplicativo com base na contagem de linhas de uma tabela.
az spring app update \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> \
--name <app-name> \
--secrets mysqlconnectionstring="<username>:<pwd>@tcp(<server name>:3306)/<database name>"
az spring app scale \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> \
--name <app-name> \
--scale-rule-type mysql \
--scale-rule-name <your rule name> \
--scale-rule-auth "connectionString=mysqlconnectionstring" \
--scale-rule-metadata queryValue=4 query="SELECT count(*) FROM mytable" \
--min-replicas 0 \
--max-replicas 3
Criar uma regra baseada no Linux cron
Os comandos a seguir mostram como configurar uma regra baseada no Keda Cron Scaler. As réplicas são dimensionadas para o número desejado durante o intervalo de tempo cron.
az spring app scale \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> \
--name <app-name> \
--scale-rule-type cron \
--scale-rule-name testscalerule \
--scale-rule-metadata timezone="Asia/Shanghai" \
start="10 * * * *" \
end="15 * * * *" \
desiredReplicas="3" \
--min-replicas 0 \
--max-replicas 3
Dimensionamento de eventos
Você pode encontrar os eventos de dimensionamento dos logs do sistema do seu aplicativo de contêiner subjacente e filtrar o EventSource usando , conforme KEDA
mostrado no exemplo a seguir:
ContainerAppSystemLogs_CL
| where ContainerAppName_s == 'YourAppName' and EventSource_s == 'KEDA'
Clean up resources (Limpar recursos)
Certifique-se de excluir os recursos criados neste artigo quando não precisar mais deles. Para excluir os recursos, basta excluir o grupo de recursos que os contém. Você pode excluir o grupo de recursos usando o portal do Azure. Como alternativa, para excluir o grupo de recursos usando a CLI do Azure, use os seguintes comandos:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."