Limpando um usuário em vários datacenters

1

Estou tentando implementar um recurso de limitação no nginx, que é compartilhado entre vários servidores em vários datacenters. Eu gostaria de saber qual seria a melhor prática para construir isso.

Por exemplo, digamos que eu tenha uma API HTTP em execução em dois clusters de servidores (atrás de um balanceador de carga) localizados em dois datacenters diferentes. Eu gostaria de estrangular um desenvolvedor por sua chave de acesso para 1000 solicitações / hora. O desenvolvedor criou um aplicativo para dispositivos móveis, o que significa que, dependendo de onde seus usuários finais estão, os pedidos serão feitos pelos dois locais (o datacenter mais próximo).

Como você reforçaria a limitação neste cenário específico?

    
por Mark 13.04.2014 / 02:20

1 resposta

0

A maneira mais fácil seria implementar a aceleração em cada um dos centros de dados N separadamente. No seu caso, M = 1000 solicitações / hora e N = 2 datacenters. Então, use M / N = 500 como seu valor de aceleração.

Veja: NGINX - solicitações do acelerador para evitar abuso

    
por 13.04.2014 / 03:45