Em horários de pico, como durante grandes volumes de gravação de dados ao longo do dia, um cluster Milvus pode apresentar alto uso de CPU e memória nos Data Nodes e Index Nodes. Esse cenário pode causar lentidão na criação de índices, atrasos na compactação ou até reinicializações de nós devido a erros de falta de memória (OOM). Por outro lado, em horários de baixa demanda ou à noite, esses nós apresentam baixa utilização de recursos, o que resulta em desperdício de capacidade computacional.
O Auto Scaling baseado em agendamento permite configurar múltiplos planos de dimensionamento por horário para seus Data Nodes e Index Nodes. Esse recurso ajusta automaticamente a quantidade de nós nos momentos especificados, reduzindo a necessidade de intervenções manuais e ajudando a otimizar os custos com recursos.
Limitações
Não há suporte para Auto Scaling baseado em carga ou métricas, como utilização de CPU ou QPS.
Cada instância aceita apenas um fuso horário para execução. O sistema não realiza conversões entre fusos horários diferentes.
Cada tipo de nó permite no máximo 10 regras.
Para instâncias de alta disponibilidade distribuídas em duas zonas de disponibilidade, o incremento de dimensionamento é de 2.
Durante uma atividade de dimensionamento, a instância entra temporariamente no estado Scaling Out ou Scaling In. Nesse período, não é possível realizar outras alterações de configuração na instância.
Detalhes do scale-out: Uma operação de scale-out aloca e inicializa novos nós, processo que geralmente leva alguns minutos. Em seguida, a instância reequilibra os dados automaticamente, o que pode demandar mais alguns minutos, dependendo da carga de trabalho.
Detalhes do scale-in: Uma operação de scale-in aciona primeiro um processo de Decommission para garantir que os dados dos nós removidos migrem com segurança para os nós restantes antes da liberação dos recursos. O tempo necessário para essa migração depende da carga do cluster. O tempo limite padrão do processo de Decommission é de 1 hora. Caso a migração não seja concluída dentro desse prazo, o sistema força a finalização do scale-in.
Limites de versão e especificação
O Auto Scaling está disponível apenas para instâncias Standard Edition. Não há suporte para instâncias Basic Edition.
A versão do mecanismo da instância deve atender aos seguintes requisitos mínimos:
|
Versão do mecanismo |
Requisito de versão mínima |
|
2.6 |
Todas as versões 2.6 são compatíveis |
|
2.5 |
2.5.12-0.6.2_3.8.0 ou posterior |
|
2.4 |
2.4.23-0.4.3_3.8.0 ou posterior |
Se a versão da sua instância for anterior ao requisito mínimo, atualize a versão e depois ative o Auto Scaling.
Componentes compatíveis com o Auto Scaling
A tabela a seguir lista os componentes compatíveis com o Auto Scaling nas diferentes versões do Milvus:
|
Componente |
2.4 |
2.5 |
2.6 |
|
Data Node |
Compatível |
Compatível |
Compatível |
|
Index Node |
Compatível |
Compatível |
— |
|
Streaming Node |
— |
— |
Não compatível |
|
Proxy |
Não compatível |
Não compatível |
Não compatível |
|
Query Node |
Não compatível |
Não compatível |
Não compatível |
|
Metadata service |
Não compatível |
Não compatível |
Não compatível |
Faturamento
Instâncias por assinatura: Os recursos totais da instância correspondem à soma dos recursos base com os recursos elásticos. Os recursos base (assinatura) não participam do Auto Scaling. Já os recursos elásticos são cobrados no modelo pagamento conforme o uso. É necessário ativar manualmente o grupo de recursos pagamento conforme o uso antes de prosseguir.
Instâncias pagamento conforme o uso: O grupo de recursos pagamento conforme o uso vem ativado por padrão. Não existe distinção entre recursos base e recursos elásticos. Todos os recursos são considerados parte do grupo de recursos pagamento conforme o uso.
Pré-requisitos
A instância deve estar no estado Running.
O grupo de recursos pagamento conforme o uso deve estar ativado para instâncias por assinatura.
Sua conta precisa ter permissão para modifique configurações da instância.
Etapa 1: Acesse a página do Auto Scaling
Faça login no console do Alibaba Cloud Milvus.
No painel de navegação à esquerda, clique em Milvus Instances.
Na barra de navegação superior, selecione a região desejada.
Na lista de instâncias, clique em no nome da instância de destino.
Na página de detalhes da instância, clique em na aba Auto Scaling.
Se a aba Auto Scaling não estiver visível, a versão atual da instância não oferece suporte ao Auto Scaling baseado em agendamento.
Etapa 2: (Opcional) Ative o grupo de recursos pagamento conforme o uso
Caso utilize uma instância pagamento conforme o uso, pule esta etapa.
Instâncias por assinatura exigem a ativação prévia do grupo de recursos pagamento conforme o uso para permitir a configure de regras de Auto Scaling.
Na página do Auto Scaling, verifique o status do grupo de recursos pagamento conforme o uso.
Se não estiver ativado, siga as instruções na tela e clique em Enable PASG Resource Group.
-
Após ative o grupo de recursos pagamento conforme o uso, você poderá dimensioná-lo manual e elasticamente:
Scale-out: O número máximo de nós no grupo de recursos pagamento conforme o uso é 50. Para instâncias de alta disponibilidade em duas zonas de disponibilidade, o incremento é de 2. Durante um scale-out, não é possível executar outras operações como scale-in, upgrade, downgrade, alteração de configuração ou atualização de versão. As especificações dos nós do grupo de recursos pagamento conforme o uso são idênticas às dos recursos base e não podem ser modificadas.
Scale-in: O número mínimo de nós no grupo de recursos pagamento conforme o uso é 0. Para instâncias de alta disponibilidade em duas zonas de disponibilidade, o incremento é de 2. Durante um scale-in, não é possível executar outras operações como scale-out, upgrade, downgrade, alteração de configuração ou atualização de versão.
Etapa 3: Crie uma regra de Auto Scaling
Na página do Auto Scaling, clique em Create Rule.
-
Na caixa de diálogo Create Rule, configure os parâmetros abaixo.
Parâmetro
Descrição
Rule Name
Obrigatório. O nome deve ter entre 1 e 64 caracteres e não pode conter caracteres especiais. Os nomes das regras devem ser exclusivos dentro da mesma instância.
Execution Interval
Obrigatório.
Define o intervalo de execução. Selecione Everyday para executar a regra diariamente no horário especificado.
Escolha o horário de execução no formato de 24 horas, com precisão de minutos.
Também é possível selecione Use cron expression para personalizar o plano de execução com uma expressão cron padrão de 5 campos, ideal para cenários de agendamento mais flexíveis.
Node Configuration
Configure as informações do nó de destino para quando o dimensionamento agendado for acionado:
-
Node Type: Seleção única, obrigatória. Escolha o tipo de componente a ser dimensionado (como Data Node ou Index Node).
-
Node Specifications: Define as especificações dos nós elásticos.
-
Elastic resource (node count): Quando a regra entrar em vigor, a quantidade de recursos pagamento conforme o uso do nó selecionado será ajustada para este valor de destino.
-
Instâncias por assinatura: O mínimo é 0 e o máximo é 50.
-
Instâncias pagamento conforme o uso: O mínimo corresponde à contagem mínima de nós (Data Node: 1, Index Node: 1) e o máximo é 50.
Para instâncias de alta disponibilidade em duas zonas de disponibilidade, o incremento de dimensionamento é de 2.
NotaSe a quantidade de regras de Auto Scaling para um único tipo de nó atingir o limite máximo (10), não será possível crie novas regras. Exclua algumas regras existentes antes de adicionar outras.
Não é permitido configure regras para o mesmo tipo de nó no mesmo horário de execução.
-
Clique em OK para crie a regra.
Após a criação, a regra aparecerá na Rule List.
Exemplos de configure de regras
Exemplo 1: Scale-out durante o horário comercial
Dimensione automaticamente os Data Nodes às 09:00 todos os dias para lidar com picos de gravação de dados diurnos:
|
Parâmetro |
Valor |
|
Nome da regra |
day-scale-out |
|
Intervalo de execução |
Everyday |
|
Horário de execução |
09:00 |
|
Tipo de nó |
Data |
|
Contagem de recursos elásticos |
2 |
Exemplo 2: Scale-in noturno
Reduza automaticamente os Data Nodes às 22:00 diariamente para liberar recursos em horários de baixa demanda:
|
Parâmetro |
Valor |
|
Nome da regra |
night-scale-in |
|
Intervalo de execução |
Everyday |
|
Horário de execução |
22:00 |
|
Tipo de nó |
Data |
|
Contagem de recursos elásticos |
0 |
Gerencie regras de Auto Scaling
Na Rule List da página do Auto Scaling, é possível visualize, edite, desativar, ative ou exclua regras de Auto Scaling.
Visualize a lista de regras
A lista de regras exibe os seguintes campos:
ID da regra / Nome da regra
Tipo de nó (Data Node / Index Node)
Contagem de recursos de destino (quantidade de nós)
Ciclo de execução (diariamente, horário de execução)
Ações
Edite uma regra de Auto Scaling
Na aba Auto Scaling, localize a regra desejada.
Na coluna Actions, clique em Edit.
Altere os parâmetros da regra e clique em OK.
O tipo de nó não pode ser alterado. Todos os demais campos permitem ajustes.
Regras em execução não podem ser editadas.
Exclua uma regra de Auto Scaling
Na aba Auto Scaling, localize a regra desejada.
Na coluna Actions, clique em Delete.
Na caixa de diálogo de confirmação, clique em OK.
Uma vez excluída, a regra deixa de acionar atividades de dimensionamento. Atividades já executadas permanecem inalteradas.
Regras em execução não podem ser excluídas.
Ative ou desative uma regra de Auto Scaling
Alterne o estado de uma regra entre ativado e desativado para controlar sua vigência sem precisar excluí-la.
Na aba Auto Scaling, localize a regra desejada.
Na coluna Actions, clique em Enable ou Disable.
Ao desativar uma regra, ela deixa de acionar atividades de dimensionamento. Atividades já executadas permanecem inalteradas.
Regras em execução não podem ser modificadas.
Altere o fuso horário
Na aba Auto Scaling, clique em Switch Time Zone.
Selecione o fuso horário desejado e clique em OK.
A alteração do fuso horário só é permitida quando não existem regras configuradas para a instância.
Visão geral do Auto Scaling
Na seção de visão geral do Auto Scaling, dentro da aba correspondente, é possível consultar o histórico de atividades de dimensionamento:
|
Campo |
Descrição |
|
Nome da regra |
Identifica a regra que acionou esta atividade de dimensionamento |
|
Tipo de componente |
Indica o componente envolvido nesta atividade de dimensionamento |
|
Status |
Mostra o estado da execução, incluindo: Pending, Executing, Succeeded, Failed, Rejected e Canceled |
|
Hora de início |
Registra quando a atividade de dimensionamento começou |
|
Hora de término |
Registra quando a atividade de dimensionamento foi concluída |
|
Descrição |
Fornece detalhes sobre a atividade de dimensionamento |
FAQ
O Auto Scaling afeta consultas e gravações em andamento?
O Auto Scaling foi projetado para operar de forma transparente, sem interromper pipelines de consulta e gravação ativos, garantindo assim a continuidade dos negócios.
Os dados ficam seguros durante um scale-in?
As operações de scale-in utilizam um mecanismo elegante de decommission. O sistema migra primeiro os dados dos nós que serão removidos para os nós restantes com total segurança. Os recursos dos nós só são liberados após a conclusão da migração e a confirmação de que não houve perda de dados. O tempo limite padrão para o processo de decommission é de 1 hora. Se a migração não for concluída nesse período, o sistema força a finalização do scale-in.
Por que minha instância não oferece suporte ao Auto Scaling?
Verifique as seguintes condições:
A instância precisa ser Standard Edition. A Basic Edition não suporta Auto Scaling.
A versão do mecanismo deve atender ao requisito mínimo (2.4 exige >= 2.4.23-0.4.3_3.8.0, 2.5 exige >= 2.5.12-0.6.2_3.8.0, e todas as versões 2.6 são compatíveis).
A instância deve estar no estado Running.
Como funciona o faturamento dos nós dimensionados elasticamente?
Os nós adicionados via scale-out elástico são cobrados no modelo pagamento conforme o uso, com base na duração real da utilização. A cobrança cessa assim que os nós são liberados durante um scale-in.
Quantas regras de Auto Scaling podem ser configuradas?
Cada componente aceita no máximo 10 regras de dimensionamento.