Executar a função de proxy sobre o domínio api.mercadolibre.com, isto é, ele deve agir como um intermediário para as requisições dos clientes, enviando-as à api.mercadolibre.com.
- Deverá permitir o controle das quantidades máximas de requisições por:
- IP de origem
- Path de destino
- Combinações de ambos
- Outros critérios ou alternativas de controle são bem vindos ;)
- Deve armazenar (e também permitir que se consulte) as estatísticas de uso do proxy.
- O código deve estar disponível em um repositório do Github ou Bitbucket.
- O proxy (como solução) deverá poder superar 50.000 requisições por segundo.
Não faremos testes de carga, mas avaliaremos se a arquitetura utilizada é escalável o suficiente.
Alguns desejáveis:
- A interface para estatísticas e controle deveria prover APIs Rest.
- Um desenho simples de arquitetura da solução e documentação (README) conta muito.
- Sabemos que o teste é complexo e seria desejável ter todos os requisitos implementados (e funcionando), no entanto, qualquer nível de completude será aceita
Add into .bashrc or .zshrc
export UID
export USER
cp .env.sample .env
docker-compose build
docker-compose up
docker-compose run --rm app rake console
docker-compose run --rm app rspec
docker-compose run --rm app sh
- Configure envirorments for development and tests
Options
- Simulate http request with sinatra (using views)
- Use Net::HTTP for submit request and redirect for get path
Options
- Use sidekiq
- Use Fibbers