Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Procesamiento de flujos Atlas con escalado automático vertical

El escalado automático vertical ajusta automáticamente el nivel de un procesador de transmisión en respuesta a su uso de recursos. Cuando habilita el escalado automático, Atlas Stream Processing escala un procesador hacia arriba o hacia abajo dentro del rango de niveles que defina. No es necesario detener y reiniciar manualmente el procesador para cambiar su nivel.

El escalado automático le ayuda a gestionar las fluctuaciones de la carga de trabajo, absorber los picos de tráfico inesperados y evitar fallos que se producen cuando un procesador agota los recursos de su nivel. Dado que Atlas Stream Processing gestiona internamente las decisiones de escalado, no necesita supervisar el uso ni redimensionar los procesadores manualmente.

Considere habilitar el escalado automático vertical en los siguientes escenarios:

  • Dimensionamiento inicial incierto: Si no puede estimar con precisión el nivel que requiere un procesador, comience con un nivel más pequeño y permita que el escalado automático ajuste el nivel para que coincida con la carga real.

  • Tráfico fluctuante o creciente: si su carga de trabajo experimenta un crecimiento orgánico o picos periódicos, el escalado automático aumenta los recursos durante los períodos de alta demanda y los reduce durante los períodos de baja demanda.

  • Resiliencia operativa: Si un procesador de capacidad insuficiente corre el riesgo de fallar durante los picos de demanda, el escalado automático aumenta el nivel automáticamente para mantener el procesador en funcionamiento.

Al habilitar el escalado automático para un procesador de flujo, Atlas Stream Processing supervisa el uso de CPU y memoria del procesador y lo compara con umbrales gestionados internamente. Atlas Stream Processing controla estos umbrales para equilibrar la capacidad de respuesta y la estabilidad, y no se pueden configurar.

Para cambiar el nivel de un procesador, Atlas Stream Processing realiza las siguientes acciones:

1

Atlas Stream Processing detiene el procesador en su nivel actual.

2

Atlas Stream Processing mueve el procesador al siguiente nivel en la jerarquía de niveles: SP2, SP5, SP10, SP30, SP50.

3

Atlas Stream Processing reinicia el procesador en el nuevo nivel y reanuda el funcionamiento desde el último punto de control confirmado, por lo que no se pierde ningún dato.

Atlas Stream Processing eleva un procesador al siguiente nivel superior cuando el uso de recursos del procesador supera uno de los siguientes umbrales de escalado durante un período prolongado:

  • El uso de la CPU es superior al 90% durante 60 minutos.

  • El uso de memoria es superior al 80% durante 60 minutos, o superior al 90% durante 30 segundos.

Atlas Stream Processing también aumenta la capacidad de un procesador si este se queda sin memoria. Cuando el escalado automático está habilitado, una condición de falta de memoria aumenta la capacidad del procesador al siguiente nivel superior en lugar de provocar un fallo.

La ampliación de la capacidad permite responder rápidamente a la presión sostenida sobre los recursos para proteger la disponibilidad del procesador.

Atlas Stream Processing scales a processor up only when the next higher tier is less than or equal to the configured maxTier.

Atlas Stream Processing reduce la escala de un procesador al siguiente nivel inferior cuando el uso de CPU y memoria del procesador permanece por debajo de un umbral de reducción de escala durante más de dos días. El umbral de escalado descendente es el umbral de escalado ascendente del siguiente nivel inferior, menos un búfer del 10% que evita que el procesador vuelva a escalar de inmediato. Este período de estabilización de dos días hace que la reducción de escala sea deliberadamente lenta para evitar el escalado frecuente entre niveles.

Atlas Stream Processing reduce la escala de un procesador solo cuando el nivel inmediatamente inferior es mayor o igual que el minTier configurado.

Si bien Atlas Stream Processing gestiona los umbrales de escalado, usted controla el rango de niveles entre los que un procesador puede escalar mediante dos configuraciones:

Configuración
Descripción

minTier

El nivel más bajo al que puede reducirse el procesador. Garantiza un nivel básico de recursos y establece un coste mínimo.

maxTier

El nivel más alto al que puede escalar el procesador. Limita el consumo de recursos y el costo, y evita que un pico anómalo provoque que el procesador se escale a un nivel innecesariamente costoso.

If you don't specify minTier or maxTier when you enable autoscaling, Atlas Stream Processing uses the stream processing workspace configuration as the default:

  • Si no especifica minTier, Atlas Stream Processing utiliza el menor valor entre el nivel predeterminado del espacio de trabajo de procesamiento de flujos y el nivel en el que se inicia el procesador. El uso del valor menor evita una configuración no válida cuando el nivel predeterminado está por encima del nivel de inicio.

  • If you don't specify maxTier, Atlas Stream Processing uses the stream processing workspace maximum tier size. If the stream processing workspace has no maximum tier size, the processor returns an error and doesn't start.

Algunas características de la canalización requieren un nivel mínimo. Por ejemplo, los procesadores que utilizan procesadores de conmutación por error requieren un nivel mínimo SP10 de. Establezca minTier al menos en el nivel mínimo que requiere la canalización de su procesador.

La siguiente tabla muestra cómo minTier y maxTier delimitan las acciones de escalado:

Configuración de niveles
Nivel actual
Acción de escala
Nivel resultante

minTier: SP5, maxTier: SP30

SP10

Escalar

SP30

minTier: SP5, maxTier: SP30

SP30

Escalar

Remains SP30 (maximum reached)

minTier: SP5, maxTier: SP30

SP10

Reducir proporcionalmente

SP5

minTier: SP5, maxTier: SP30

SP5

Scale down

Remains SP5 (minimum reached)

Puede habilitar, modificar y deshabilitar el escalado automático para un procesador de flujo con la autoscaling opción en el sp.processor.start() método o sp.processor.modify() mongoshen. Atlas Stream Processing conserva la configuración de autoescalado, por lo que un procesador reutiliza su configuración anterior si se detiene y se reinicia sin realizar cambios.

Para habilitar el escalado automático con los niveles por defecto y máximos del espacio de trabajo de Stream Processing como límites, utilice la siguiente sintaxis:

sp.processor.start({autoscaling: {enabled: true}})

To enable autoscaling with explicit tier bounds, specify minTier and maxTier:

sp.processor.start(
{autoscaling: {enabled: true, minTier: "SP2", maxTier: "SP50"}}
)

To set the tier a processor starts on while allowing it to scale within a different range, specify tier with the autoscaling option:

sp.processor.start(
{tier: "SP10", autoscaling: {enabled: true, minTier: "SP5", maxTier: "SP30"}}
)

Para cambiar los límites de nivel de un procesador existente, detenga el procesador y, a continuación, modifique los niveles de nivel con los nuevos valores. Debe detener un procesador antes de modificarlo. Atlas Stream Processing cambia solo los valores que proporcione:

sp.processor.modify(
{autoscaling: {enabled: true, minTier: "SP2", maxTier: "SP30"}}
)

Para desactivar el escalado automático, detenga el procesador y establezca enabled en false:

sp.processor.modify({autoscaling: {enabled: false}})

When you disable autoscaling, Atlas Stream Processing pins the processor's effectiveTier to its tier baseline.

Cuando el escalado automático está habilitado, Atlas Stream Processing realiza un seguimiento de dos valores de nivel para un procesador:

  • tier: El nivel de referencia que estableció. Atlas Stream Processing no cambia este valor mediante el escalado automático. Solo cambia cuando establece una nueva línea de base, que entra en vigor la próxima vez que inicie el procesador.

  • effectiveTier: Un valor de solo lectura que muestra el nivel en el que se está ejecutando el procesador. Cuando el escalado automático está habilitado, Atlas Stream Processing ajusta effectiveTier dentro del rango establecido por minTier y maxTier. Cuando el escalado automático está deshabilitado, effectiveTier coincide con tier.

If you stop a processor after autoscaling changes its effectiveTier, Atlas Stream Processing restarts the processor on its last effectiveTier, not the tier you initially started it on. This behavior lets the processor resume its previous workload without waiting to autoscale again.

To view a processor's autoscaling configuration and current tier, use the sp.processor.stats() method. The output includes the tier baseline, the read-only effectiveTier, and an autoscaling object with minTier and maxTier:

sp.processor.stats()
{
ok: 1,
name: 'sampleProc',
state: 'STARTED',
tier: 'SP10',
effectiveTier: 'SP10',
autoscaling: { minTier: 'SP2', maxTier: 'SP50' },
stats: {
...
},
...
}

Si inicia un procesador con un valor tier fuera del rango de autoescalado configurado, ya sea por debajo de minTier o por encima de maxTier, el procesador devuelve un error y no se inicia.

If a processor exhausts its resources at the configured maxTier, Atlas Stream Processing behaves as follows:

  • Agotamiento de memoria: El procesador falla con un error de falta de memoria.

  • Agotamiento de la CPU: El procesador continúa funcionando.

If a processor reaches maxTier and can't keep up with its workload, consider optimizing your pipeline logic or increasing maxTier.

Atlas Stream Processing records each scale-up and scale-down event. Each record identifies the processor and stream processing workspace, whether the event is a scale-up or scale-down, the tiers the processor moved to and from, and the metric that triggered the event. To learn how to view scaling events and configure alerts, see Monitor Stream Processors.

Para aprender a crear y administrar los procesadores de flujo en los que habilita el escalado automático, consulte la sección "Desarrollo de procesadores de flujo".

Para elegir el nivel adecuado para su carga de trabajo, consulte la Guía de selección de niveles.