Este tópico descreve os princípios e o uso do recurso de proteção contra sobrecarga.
Contexto
Em cenários de alta concorrência, como eventos promocionais, os recursos de CPU do nó primário tendem a sofrer sobrecarga. Para resolver esse problema, geralmente é necessário aumentar a especificação (upgrade) do banco de dados. No entanto, interrupções transitórias ou quedas de desempenho para zero podem ocorrer durante a alteração da especificação. Nesse caso, todas as requisições podem ser roteadas para o nó primário, causando sobrecarga de CPU nesse nó e afetando ainda mais a continuidade e a estabilidade do service. Para mitigar essa situação, o PolarDB for MySQL introduziu o recurso de proteção contra sobrecarga na camada de proxy do banco de dados. Esse recurso protege o nó primário ao limitar o número de requisições simultâneas quando todos os nós somente leitura apresentam anomalias, garantindo que a disponibilidade geral do service não seja afetada.
Limites
Esse recurso exige a versão 2.8.1 ou posterior do PolarProxy e oferece suporte ao PolarDB for MySQL nas versões 5.6, 5.7 e 8.0.
Atualmente, há suporte apenas para endpoints de leitura e gravação.
A proteção contra sobrecarga é acionada apenas quando todos os nós somente leitura apresentam anomalias (falha ou interrupção da replicação com o banco de dados primário). Outros cenários não têm suporte no momento.
Observações de uso
Na seção Cluster Endpoint da página Overview, clique em Configure para abrir a página Modify Endpoint Settings e ative a Overload Protection.
Com base no algoritmo leaky bucket, quando o PolarProxy detecta anomalias em todos os nós somente leitura do cluster, ele limita proativamente as requisições simultâneas ao cluster para proteger o banco de dados primário. O limite é removido quando os nós somente leitura se recuperam ou após o término do tempo limite (60 segundos por padrão).
Para definir o limite de throttling, os clusters do PolarDB for MySQL selecionam um intervalo apropriado com base em dados históricos. Enquanto o cluster opera normalmente, o PolarProxy registra amostras das contagens de requisições simultâneas do nó primário nas últimas 24 horas.
Quando a proteção contra sobrecarga é acionada, o PolarProxy utiliza a mediana dos dados históricos como limite superior para controlar as conexões ativas.
Exemplo
Durante um teste, a replicação em todos os nós somente leitura foi interrompida, acionando a proteção contra sobrecarga. O tráfego ainda pode fluir durante esse período, mas não apresenta picos adicionais.
Após a recuperação dos nós somente leitura, a proteção contra sobrecarga termina e o tráfego é encaminhado normalmente.
