Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Menu Docs
Página inicial do Docs
/ /

Erros de sobrecarga

As políticas deGerenciamentointeligente de Carga de Trabalho (IWM) no Atlas são de redução de carga, o que significa que rejeitam ou encerram operações para manter o cluster saudável sob sobrecarga. Quando essas políticas atuam, seu aplicação pode ver novos erros para operações que o servidor rejeitou ou encerrou devido à sobrecarga do servidor . Esses erros de sobrecarga possuem o SystemOverloadedError rótulo.

As seguintes políticas de IWM de redução de carga retornam erros quando rejeitam ou encerram operações:

Drivers com reconhecimento de backpressure e outras bibliotecas de cliente reconhecem automaticamente erros de sobrecarga com o rótulo SystemOverloadedError e os tratam como um sinal de sobrecarga. Se o erro tiver um rótulo que induz a uma nova tentativa, incluindo o rótulo RetryableError, a biblioteca do cliente com reconhecimento de backpressure tentará automaticamente a operação com backoff e jitter exponenciais.

A tabela a seguir lista as primeiras versões da biblioteca do cliente que reconhecem a backpressure:

Biblioteca do cliente
Versão mais antiga com reconhecimento de backpressure

Driver C

2.3

Driver C++

4.3

Driver .NET/C#

3.8

Driver GO

2.6

Driver de sincronização Java

5.7

Driver de fluxos reativos do Java

5.7

Driver Kotlin Coroutine

5.7

Driver de Kotlin Sync

5.7

Controlador Node.js

7.2

Biblioteca PHP

2.3

PyMongo

4.17

Driver Scala

5.7

Se você estiver usando uma biblioteca de cliente com reconhecimento de backpressure, não precisará implementar nenhuma lógica de repetição adicional para lidar com erros de sobrecarga das políticas de IWM. Se você não estiver usando uma biblioteca de cliente com reconhecimento de backpressure, consulte Como lidar com erros de sobrecarga para obter orientação.

Se você não estiver usando uma biblioteca de cliente com reconhecimento de backpressure, consulte o procedimento a seguir para obter exemplos de como implementar a lógica de detecção e repetição de erros com backoff exponencial para lidar com erros de sobrecarga:

Use o procedimento a seguir para implementar utilitários para detectar erros de sobrecarga e tentar novamente com backoff exponencial.

Ao repetir operações que falharam com erros de sobrecarga, use as seguintes diretrizes para evitar contribuir para a sobrecarga e aumentar as chances de novas tentativas bem-sucedidas:

  • Limite suas tentativas de repetição: use um máximo de 2 tentativas por operação. Limites mais altos reduzem as taxas de erro, mas aumentam a carga do servidor durante a sobrecarga, enquanto menos tentativas de repetição podem reduzir a carga do servidor , mas aumentar as taxas de erros.

  • Aplicar seletivamente: use esse padrão somente para operações sensíveis à latência ou críticas aos negócios. Para cargas de trabalho em segundo plano, registre os erros e tente novamente em um nível superior com atrasos mais longos.

Voltar

Alerta de query

Nesta página