Trilha Sênior Trilha

Estratégia de system design

O curso trata de como estruturar software para que ele continue funcionando quando usuários, dados e falhas aumentam. Começa pelos trade-offs e pela diferença entre requisitos funcionais e não funcionais. Depois passa pela estimativa no guardanapo e por SLI, SLO e SLA. Percorre cada camada de um stack Rails, do DNS e do Kamal Proxy ao Puma, PostgreSQL, cache e Solid Queue. As lições seguintes abordam modelagem de dados, escalabilidade, padrões de confiabilidade como health checks e circuit breakers e um roteiro de cinco passos para entrevistas de system design.

O que você vai aprender

  • ✓Como pesar trade-offs como consistência contra disponibilidade e latência contra throughput
  • ✓Estimar usuários, requisições por segundo, armazenamento e banda antes de projetar
  • ✓O papel de cada camada numa arquitetura Rails, do DNS aos background jobs
  • ✓Escolher entre armazenamento relacional e de documentos, JSONB, normalização e indexes
  • ✓Escala vertical e horizontal, PgBouncer, réplicas de leitura e cache
  • ✓Padrões de confiabilidade: redundância, health checks, degradação graciosa, circuit breakers e timeouts
Prévia grátis · Aula 1 9 min de leitura

O que é system design?

Qualquer desenvolvedor consegue construir uma aplicação que funciona no próprio laptop. Você digita bin/rails server, abre localhost:3000 e tudo roda. O banco responde em milissegundos. Só existe um usuário: você. Nada quebra.

Ler a aula completa grátis →

Currículo

7 aulas
Digite para buscar...