TTL de cache do avatar

TLDR: Aumenta o cache do endpoint de avatar de 1 minuto para 1 hora, reduzindo hits redundantes no Rails em um redirect praticamente estático.

Contexto

GET /api/v1/avatar/:id faz uma query no banco para buscar o user_profile e redireciona para a URL do CloudFront. O cache HTTP está configurado para 1.minute, fazendo browsers e CDNs revalidarem a cada minuto. Nos logs de produção esse endpoint aparece como o mais lento (até 1.026 ms) e é o principal gatilho do autoscaler do Heroku (threshold: 1.000 ms). A URL do avatar só muda quando o usuário troca a foto — não há razão para um TTL tão curto.

Objetivos

  • Reduzir o número de hits no Rails para o endpoint de avatar
  • Eliminar o principal gargalo que dispara o autoscaler

Fora de escopo

— (não registrado na spec original)

Mudanças

  • app/controllers/api/v1/users_avatar_controller.rb: alterar expires_in 1.minute para expires_in 1.hour

Como verificar

  • Fazer request para /api/v1/avatar/:id e confirmar o header Cache-Control: max-age=3600, public
  • Confirmar que o redirect para o CloudFront continua funcionando

Documentação

Nenhuma mudança de documentação necessária.