Este projeto é um servidor proxy de cache desenvolvido em Java. Ele atua como intermediário entre clientes e servidores de origem, armazenando respostas em cache para otimizar requisições subsequentes, reduzindo o tempo de resposta e a carga no servidor de origem. Agora, utiliza Redis como mecanismo de cache para maior eficiência e escalabilidade. Além disso, a aplicação conta com logs via SLF4J para melhor monitoramento.
- Encaminhamento de Requisições: Recebe requisições HTTP e as redireciona ao servidor de origem.
- Armazenamento em Cache (Redis): Guarda respostas para otimizar requisições futuras.
- Cabeçalhos de Cache:
X-Cache: HIT
→ Resposta servida do cache.X-Cache: MISS
→ Resposta servida do servidor de origem.
- Limpeza de Cache: Endpoint para limpar todas as respostas armazenadas.
- Logs via SLF4J: Monitoramento de eventos da aplicação.
- Compile e execute o projeto com:
mvn clean package
java -jar target/proxy.jar --port <porta> --origin <url>
Onde:
--port
→ Porta onde o proxy será executado.--origin
→ URL do servidor de origem para o qual as requisições serão encaminhadas.
Exemplo:
java -jar target/proxy.jar --port 3000 --origin http://dummyjson.com
Isso iniciará o servidor na porta 3000, encaminhando requisições para http://dummyjson.com
.
Para limpar o cache, envie uma requisição para:
GET http://localhost:3000/clear-cache