COST09-BP02 Implementar un búfer o una limitación para administrar la demanda
El almacenamiento en búfer y la limitación modifican la demanda de la carga de trabajo y suavizan los picos. Implemente limitaciones cuando sus clientes hagan reintentos. Implemente el almacenamiento en búfer para almacenar la solicitud y aplazar el procesamiento para más adelante. Verifique que las limitaciones y los búfers se hayan diseñado de tal manera que los clientes reciban una respuesta en el tiempo requerido.
Nivel de riesgo expuesto si no se establece esta práctica recomendada: Mediana
Guía para la implementación
Limitación: si el origen de la demanda tiene capacidad de reintento, podrá implementar una limitación. Esta limitación le dice al origen que si no puede atender la solicitud en el momento actual debe intentarlo más tarde. El origen esperará un tiempo y volverá a probar la solicitud. Implementar una limitación tiene la ventaja de que se limita la cantidad máxima de recursos y costos de la carga de trabajo. En AWS, puede usar
Amazon API Gateway
Basado en búfer: de forma similar a la limitación, 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 para aceptar mensajes (unidades de trabajo) 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. No tiene que preocuparse por que los productores tengan que lidiar con problemas de limitación, como la durabilidad de los datos y la contrapresión (que hace que los productores reduzcan la velocidad porque su consumidor se ejecuta a una velocidad lenta).
En AWS, puede elegir entre varios servicios para implementar un enfoque basado en almacenamiento en búfer. Amazon Simple Queue Service (Amazon SQS)
Al diseñar con un enfoque basado en búfer, garantiza que su carga de trabajo responda a la solicitud en el tiempo requerido y que usted pueda gestionar las solicitudes duplicadas.
Pasos para la aplicación
-
Analizar los requisitos de cliente: analice los requisitos de cliente para determinar si pueden llevar a cabo reintentos. Para los clientes que no puedan, deberán implementarse búfers. Analice la demanda general, la tasa de cambio y el tiempo de respuesta requerido para determinar el tamaño de la limitación o el búfer requeridos.
-
Implementar un búfer o una limitación: implemente un búfer o una limitación en la carga de trabajo. Una cola como Amazon Simple Queue Service (Amazon SQS) puede proporcionar un búfer a sus componentes de la carga de trabajo. Amazon API Gateway puede proporcionar limitación a los componentes de la carga de trabajo.
Recursos
Documentos relacionados: