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

Errores de sobrecarga

Las políticas deGestión Inteligente de Carga de Trabajo (IWM) en Atlas son de reducción de carga, lo que significa que rechazan o terminan operaciones para mantener el clúster en buen estado bajo sobrecarga. Cuando estas políticas actúan, su aplicación podría ver nuevos errores para operaciones que el servidor rechazó o terminó debido a la sobrecarga del servidor. Estos errores de sobrecarga tienen la SystemOverloadedError etiqueta.

Las siguientes políticas IWM de reducción de carga devuelven errores cuando rechazan o finalizan operaciones:

Los controladores y otras bibliotecas cliente que tienen en cuenta la contrapresión reconocen automáticamente los errores de sobrecarga con la etiqueta SystemOverloadedError y los interpretan como una señal de sobrecarga. Si el error tiene una etiqueta que requiere un reintento, incluida la etiqueta RetryableError, la biblioteca cliente que tiene en cuenta la contrapresión reintenta automáticamente la operación con retroceso exponencial y fluctuación.

La siguiente tabla enumera las versiones más antiguas de la biblioteca cliente que tienen en cuenta la contrapresión:

Biblioteca de clientes
Versión más antigua con capacidad de detección de contrapresión

Controlador de C

2.3

Controlador C++

4.3

Controlador .NET/C#

3.8

Driver de Go

2.6

Java Sync Driver

5.7

Driver de Java Reactive Streams

5.7

driver de Kotlin corrutina

5.7

Driver de sincronización de Kotlin

5.7

Driver de Nodo.js

7.2

Biblioteca PHP

2.3

PyMongo

4.17

Controlador de Scala

5.7

Si utiliza una biblioteca cliente compatible con la gestión de la contrapresión, no necesita implementar ninguna lógica de reintento adicional para gestionar los errores de sobrecarga de las políticas de IWM. Si no utiliza una biblioteca cliente compatible con la gestión de la contrapresión, consulte la sección «Gestión de errores de sobrecarga» para obtener más información.

Si no está utilizando una biblioteca cliente que tenga en cuenta la contrapresión, consulte el siguiente procedimiento para ver ejemplos de cómo implementar la detección de errores y la lógica de reintento con retroceso exponencial para manejar errores de sobrecarga:

Utilice el siguiente procedimiento para implementar utilidades que detecten errores de sobrecarga y vuelvan a intentarlo con retroceso exponencial.

Al reintentar operaciones que fallaron debido a errores de sobrecarga, utilice las siguientes directrices para evitar contribuir a la sobrecarga y aumentar las posibilidades de reintentos exitosos:

  • Limita tus intentos de reintento: utiliza un máximo de 2 reintentos por operación. Un límite mayor reduce la tasa de errores, pero aumenta la carga del servidor durante la sobrecarga, mientras que un menor número de intentos de reintento puede reducir la carga del servidor, pero aumenta la tasa de errores.

  • Aplicación selectiva: Utilice este patrón únicamente para operaciones críticas o sensibles a la latencia. Para cargas de trabajo en segundo plano, registre los errores y vuelva a intentarlo con un nivel superior y mayores retrasos.

Volver

Consultar Centinela

En esta página