Início Rápido: configurar o dimensionamento automático para aplicativos no plano de consumo padrão e dedicado dos Aplicativos Spring do Azure
Observação
Azure Spring Apps é o novo nome do serviço Azure Spring Cloud. Embora o serviço tenha um novo nome, você verá o nome antigo em alguns locais por um tempo enquanto trabalhamos para atualizar ativos como capturas de tela, vídeos e diagramas.
Este artigo se aplica ao: ✔️ Consumo padrão e dedicado (versão prévia) ❌ Básico/Standard ❌ Enterprise
Este artigo descreve como configurar regras de dimensionamento automático para seus aplicativos no plano de consumo padrão e dedicado dos Aplicativos Spring do Azure. O plano usa um ambiente de Aplicativos de Contêiner do Azure para hospedar seus aplicativos do Spring e fornece o seguinte gerenciamento e suporte:
- Gerencia o escala horizontal automático por meio de um conjunto de regras de escala declarativas.
- Suporta todas as regras de colocação em escala que os Aplicativos de Contêiner do Azure suportam.
Para obter mais informações, confira Documentação dos Aplicativos de Contêiner do Azure.
Pré-requisitos
- Uma assinatura do Azure. Se você não tiver uma assinatura do Azure, confira Conta gratuita do Azure antes de começar.
- Uma instância de serviço do plano de consumo padrão e dedicado dos Aplicativos Spring do Azure. Para obter mais informações, consulte Início Rápido: provisionar uma instância de serviço do plano de consumo Standard e dedicado dos Aplicativos Spring do Azure.
- Um aplicativo Spring implantado no Aplicativos Spring do Azure.
Definição de escala
A colocação em escala é definida pela combinação de limites e regras.
Os limites são o número de instâncias mínimas e máximas que seu Spring permite.
Limite de escala Valor padrão Valor mínimo Valor máximo Número mínimo de instâncias por implantação 1 0 30 Número máximo de instâncias por implantação 10 1 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 reduzir horizontalmente até zero, você pode definir a contagem de instâncias mínimas como zero.
As regras são os critérios que o dimensionamento automático respeita para adicionar ou remover instâncias. As regras de escala incluem regras HTTP, TCP e Personalizadas, conforme descrito na seção Regras de escala em Definir regras de colocação em escala 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 intervalos de tempo que ocorrem durante o dimensionamento automático.
- O intervalo de sondagem define o período de tempo entre cada ação de sondagem de dados em tempo real, conforme definido pelas suas regras. O intervalo de sondagem padrão é definido em 30 segundos.
- O período de resfriamento se aplica apenas a colocação em escala 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.
Definições da configuração do dimensionamento automático
Você pode definir configurações de dimensionamento automático do seu aplicativo usando o portal do Azure ou a CLI do Azure.
Use as etapas a seguir para definir as configurações e as regras de dimensionamento automático.
- Entre no portal do Azure.
- Selecione Aplicativos Spring do Azure em Serviços do Azure.
- Na coluna Nome, selecione a instância do Aplicativos Spring do Azure que você deseja dimensionar automaticamente.
- Na página de visão geral da sua instância do Aplicativos Spring do Azure, selecione Aplicativos no painel de navegação.
- Selecione o aplicativo que deseja dimensionar automaticamente.
- Na página de visão geral do aplicativo selecionado, selecione Escalar horizontalmente no painel de navegação.
- Na página Escalar horizontalmente (Prévia), selecione a implantação que você deseja dimensionar automaticamente.
- Configurar os limites da instância da sua implantação.
- Selecione Adicionar para adicionar suas regras de escala.
Regras de colocação em escala personalizadas
Para obter informações sobre como definir regras personalizadas, consulte Dimensionadores do Keda. As seções a seguir mostram dois exemplos de configurações de regras de escala no MySQL e no Cron.
Configurar as regras de escala automática no banco de dados MySQL
Os comandos da CLI a seguir mostram como dimensionar automaticamente seu aplicativo Spring com base no Dimensionador do MySQL do Keda. Primeiro, crie um segredo para armazenar sua cadeia de conexão do SQL. Esse segredo é utilizado para a autenticação da sua 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 com base no Cron do Linux
Os comandos a seguir mostram como configurar uma regra com base no Dimensionador do Cron do Keda. 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
Eventos de colocação em escala
Você pode encontrar os eventos de colocação em escala nos logs do sistema do seu aplicativo de contêiner subjacente e filtrar o EventSource usando KEDA
, conforme mostrado no exemplo a seguir:
ContainerAppSystemLogs_CL
| where ContainerAppName_s == 'YourAppName' and EventSource_s == 'KEDA'
Limpar recursos
Exclua os recursos que você criou 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. Alternativamente, 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 ..."