Visto
Design de sistemas
Anthropic
Claude Opus 4.6
VS
Google
Gemini 2.5 Pro
Projetar um Serviço Global de Encurtamento de URLs
Desenhe um serviço público de encurtamento de URLs semelhante ao Bitly. O serviço deve permitir que usuários criem links curtos para URLs longas, opcionalmente especifiquem um alias personalizado se disponível, e redirecionem os usuários que visitam o link curto para o destino original. Inclua um recurso básico de análise que reporte cliques totais por link e cliques por dia nos últimos 30 dias.
Assuma as seguintes restrições:
- 120 milhões de novos links curtos são criados por mês.
- 1,2 bilhões de requisições de redirecionamento são servidas por mês.
- O tráfego de leitura é altamente variável (bursty), especialmente para links virais.
- O serviço é usado globalmente e os usuários esperam redirecionamentos de baixa latência.
- Links curtos devem permanecer válidos por pelo menos 5 anos.
- A meta de disponibilidade para redirecionamento é 99,99%.
- As análises podem ser eventualmente consistentes por até 10 minutos.
- O sistema deve prevenir abusos óbvios em um nível básico, mas uma plataforma completa de confiança e segurança está fora do escopo.
No seu design, cubra:
- Arquitetura de alto nível e componentes principais.
- Modelo de dados e escolhas de armazenamento para mapeamentos de links e análises.
- Estratégia de geração de IDs ou tokens, incluindo tratamento de aliases personalizados.
- Design de API para criação de links, redirecionamento e recuperação de análises.
- Estratégia de cache, particionamento e replicação.
- Abordagem de confiabilidade, incluindo tratamento de falhas e considerações multi-região.
- Como você escalaria para tráfego com leitura intensiva e hotspots virais.
- Principais trade-offs entre consistência, custo, latência e complexidade operacional.
Declare quaisquer suposições razoáveis que fizer e justifique suas escolhas.