Para monitorar meus clusters do Amazon EMR, executo scripts que fazem chamadas de API. Os scripts retornam erros semelhantes aos seguintes: “Taxa excedida (Serviço: Amazon ElasticMapReduce; Código de status: 400; Código do erro: ThrottlingException; ID da solicitação: e2b6191c-gkl5-269r-u735-cryyz251a837)" Como evito os erros de “taxa excedida"?
Descrição breve
O Amazon EMR limita as chamadas de API para manter a estabilidade do sistema. As exceções de limitação geralmente ocorrem quando você executa scripts de monitoramento em intervalos regulares para verificar se há um parâmetro nos clusters. Aqui está um exemplo: chamar DescribeCluster a cada 60 segundos para verificar se o cluster atingiu o estado WAITING. Quanto mais clusters você tiver e quanto mais scripts de monitoramento forem executados, maior será a probabilidade de você obter erros de limitação.
Resolução
Para evitar erros de controle de utilização:
- Reduza a frequência das chamadas de API.
- Escalone os intervalos das chamadas de API para que elas não sejam executadas todas ao mesmo tempo.
- Implemente o recuo exponencial ao fazer chamadas de API.
- Considere migrar para uma arquitetura baseada em eventos.
Para entender a origem dos erros de controle de utilização, use o AWS CloudTrail para rastrear o histórico de eventos. O CloudTrail pode ajudar a identificar detalhes do evento, como os seguintes:
- Chamadas de API frequentes
- Avalie os erros excedidos e suas chamadas de API relacionadas
- Se as chamadas de API forem acionadas por usuários ou pela automação
Informações relacionadas
Erros comuns
Gerenciar e monitorar a limitação de API em suas workloads
Como o CloudTrail funciona