SUS02-BP06 Implementar armazenamento em buffer ou controle de utilização para nivelar a curva da demanda
O armazenamento em buffer e o controle de utilização nivelam a curva da demanda e reduzem a capacidade provisionada necessária para sua workload.
Antipadrões comuns:
-
Você processa imediatamente as solicitações de cliente embora isso não seja necessário.
-
Você não analisa os requisitos das solicitações de cliente.
Benefícios do estabelecimento desta prática recomendada: nivelar a curva da demanda reduz a capacidade provisionada necessária para a workload. Reduzir a capacidade provisionada significa diminuir o consumo de energia e o impacto ambiental.
Nível de exposição a riscos quando esta prática recomendada não é estabelecida: baixo
Nivelar a curva da demanda pode ajudar você a reduzir a capacidade provisionada para uma workload e a diminuir o respectivo impacto ambiental. Considere a workload com a curva de demanda mostrada na figura a seguir. Essa workload tem dois picos e, para lidar com eles, é provisionada a capacidade de recurso mostrada pela linha laranja. Os recursos e energia usados para essa workload não são indicados pela área abaixo da curva da demanda, mas pela área abaixo da linha da capacidade provisionada, visto que é preciso ter capacidade provisionada para lidar com esses dois picos.
Você pode usar o armazenamento em buffer ou o controle de utilização para modificar a curva da demanda e atenuar os picos, o que significa menor capacidade provisionada e menor consumo de energia. Implemente o controle de utilização quando seus clientes puderem realizar novas tentativas. Implemente o armazenamento em buffer para armazenar a solicitação e adiar o processamento até um momento posterior.
Etapas da implementação
-
Analise as solicitações dos clientes para determinar como responder a elas. As perguntas a serem consideradas incluem:
-
Essa solicitação pode ser processada assincronamente?
-
O cliente tem capacidade de repetição?
-
-
Se o cliente tiver capacidade de repetição, você pode implementar o controle de utilização, que informa à origem que, se ela não puder atender à solicitação naquele momento, deverá tentar novamente mais tarde.
-
Você pode usar o Amazon API Gateway
para implementar o controle de utilização.
-
-
Para clientes que não podem realizar novas tentativas, é necessário implementar um buffer para nivelar a curva da demanda. O buffer adia o processamento de solicitações, permitindo que as aplicações executadas em diferentes taxas se comuniquem com eficácia. Uma abordagem baseada em buffer usa uma fila ou um fluxo para aceitar mensagens de produtores. As mensagens são lidas pelos consumidores e processadas, permitindo que as mensagens sejam executadas na taxa que atenda aos requisitos de negócios dos consumidores.
-
O Amazon Simple Queue Service (Amazon SQS)
é um serviço gerenciado que fornece filas que permitem que um único consumidor leia mensagens individuais. -
O Amazon Kinesis
oferece um fluxo que permite que vários consumidores leiam as mesmas mensagens.
-
-
Analise a demanda geral, a taxa de alteração e o tempo de resposta necessário para dimensionar adequadamente o controle ou buffer necessário.
Recursos
Documentos relacionados:
Vídeos relacionados: