SUS02-BP06 Implementar el almacenamiento en búfer o la limitación para aplanar la curva de demanda
El almacenamiento en búfer y la limitación aplanan la curva de demanda y reducen la capacidad aprovisionada necesaria para su carga de trabajo.
Patrones comunes de uso no recomendados:
-
Procesa las solicitudes de los clientes inmediatamente mientras no es necesario.
-
No analiza los requisitos de las solicitudes de los clientes.
Beneficios de establecer esta práctica recomendada: el aplanamiento de la curva de demanda reduce la capacidad aprovisionada necesaria para la carga de trabajo. La reducción de la capacidad aprovisionada implica un menor consumo de energía y un menor impacto medioambiental.
Nivel de riesgo expuesto si no se establece esta práctica recomendada: bajo
El aplanamiento de la curva de demanda de la carga de trabajo puede ayudarle a reducir la capacidad aprovisionada para una carga de trabajo y a reducir su impacto medioambiental. Supongamos una carga de trabajo con la curva de demanda que se muestra en la siguiente figura. Esta carga de trabajo tiene dos picos y, para gestionarlos, se aprovisiona la capacidad de recursos que muestra la línea naranja. Los recursos y la energía utilizados para esta carga de trabajo no están indicados por el área situada debajo de la curva de demanda, sino por el área situada debajo de la línea de capacidad aprovisionada, ya que esta capacidad se necesita para gestionar esos dos picos.
Puede utilizar el almacenamiento en búfer o la limitación para modificar la curva de demanda y suavizar los picos, lo que significa menos capacidad aprovisionada y menos energía consumida. Implemente limitaciones cuando sus clientes puedan realizar reintentos. Implemente el almacenamiento en búfer para almacenar la solicitud y aplazar el procesamiento para más adelante.
Pasos para la implementación
-
Analice las solicitudes de los clientes para determinar cómo responder a ellas. Entre las preguntas a tener en cuenta se incluyen las siguientes:
-
¿Esta solicitud puede procesarse de forma asíncrona?
-
¿El cliente tiene capacidad de reintentos?
-
-
Si el cliente tiene capacidad de reintentos, puede implementar la limitación, que le indica al origen que si no puede atender la solicitud en el momento actual debe intentarlo más tarde.
-
Puede usar Amazon API Gateway
para implementar la limitación.
-
-
En el caso de los clientes que no pueden realizar reintentos, es necesario implementar un búfer para aplanar la curva de demanda. Un búfer aplaza el procesamiento de las solicitudes, por lo que permite a las aplicaciones que se ejecutan a diferentes ritmos comunicarse de forma efectiva. El enfoque basado en búfer utiliza una cola o una secuencia para aceptar mensajes de los productores. De este modo, los consumidores pueden leer y procesar los mensajes, lo que permite que dichos mensajes se ejecuten a la velocidad que cumpla con los requisitos empresariales de los consumidores.
-
Amazon Simple Queue Service (Amazon SQS)
es un servicio administrado que proporciona colas que permiten que un solo consumidor lea mensajes individuales. -
Amazon Kinesis
ofrece una secuencia que permite que muchos consumidores lean los mismos mensajes.
-
-
Analice la demanda general, la tasa de cambio y el tiempo de respuesta requerido para dimensionar correctamente la limitación o el búfer requeridos.
Recursos
Documentos relacionados:
-
Getting started with Amazon SQS (Introducción a Amazon SQS)
-
Application integration Using Queues and Messages
(Integración de aplicaciones mediante colas y mensajes)
Vídeos relacionados:
-
Choosing the Right Messaging Service for Your Distributed App
(Elección del servicio de mensajería correcto para su aplicación distribuida)