Design do carrinho de compras e fluxo de pedidos
Estudo de caso: design do carrinho e fluxo de pedidos com requisitos, modelo de dados, API, proteção contra sobrevenda, idempotência, outbox e tratamento de flash sales.
Design patterns, design de sistemas, microsserviços e os blocos de grandes sistemas.
Estudo de caso: design do carrinho e fluxo de pedidos com requisitos, modelo de dados, API, proteção contra sobrevenda, idempotência, outbox e tratamento de flash sales.
Use Kafka como event log para Order: registre eventos imutáveis, reconstrua o estado através de replay, crie read model com projection. Saiba as limitações antes de aplicar.
Como identificar hot key e big key no Redis usando redis-cli, MEMORY USAGE, OBJECT FREQ e como tratá-los através de sharding de chaves, UNLINK, cache local e replicação de chaves.
Configure acks, enable.idempotence, batch.size e linger.ms para Kafka producer para não perder mensagens, sem duplicatas e ainda atingindo alto throughput.
Como aplicar cache-aside com Redis no Spring Boot, invalidar cache após commit, lidar com race conditions e testar com Testcontainers.
O que é consumer lag, como medir com CLI, AdminClient e Micrometer, quais métricas de broker/producer/consumer monitorar e como configurar alertas de forma apropriada.
Gravar no banco de dados e enviar para o Kafka simultaneamente é fácil perder eventos. Este artigo guia a implementação do Outbox pattern com Spring Boot 3 e Kafka para manter consistência entre os dois.
Entenda como o Redis grava dados em disco usando RDB e AOF, configure cada modo, e identifique situações onde ainda há perda de dados mesmo com persistência ativada.
Estudo de caso de design de sistema de aluguel de carros: previne double-booking com PostgreSQL, depósito idempotente, cancelamento com reembolso e suporta picos de tráfego no Tét.
Estudo de caso do design de leaderboard realtime para milhões de jogadores com Redis sorted set, incluindo modelo de dados, APIs, tratamento de empates, idempotência e picos de carga.
Case study de design de news feed: requisitos, escala, modelo de dados, API, comparação entre fan-out on write e on read, modelo híbrido e tratamento de celebridades, consistência, picos de tráfego.
Estudo de caso sobre projetar um rate limiter distribuído para API gateway incluindo requisitos, escolha de algoritmo, modelo de dados, Lua script no Redis e como lidar com condições de corrida e picos de carga.
Estudo de caso de design de URL shortener: dimensionamento, geração de código curto sem colisão, cache em múltiplas camadas, tratamento de conflitos de alias, consistência de dados e picos de carga.
Estudo de caso do design de autocomplete para plataforma de e-commerce: requisitos, modelo de dados, API, Redis top-K por prefixo, Kafka, manipulação de hot key e picos de tráfego.
Estudo de caso de design de carteira digital: razão de dupla entrada, API idempotente, locks anti-deadlock, outbox com Kafka e lidar com picos de tráfego.
Use Redis Streams e consumer groups no Spring Boot 3 para processar eventos at-least-once, com ACK manual, retry de mensagens travadas e dead-letter.
Comparação de três estratégias de cache populares com Redis e Spring Boot 3: implementação, vantagens e desvantagens, erros comuns e quando usar cada uma.
Entenda o algoritmo Redlock, implemente você mesmo com Jedis, escreva testes com Testcontainers e compreenda por que Martin Kleppmann considera que não é seguro.
Implemente o Saga pattern de tipo orchestration com Spring Boot e Kafka. Reserve voos, hotéis, processe pagamentos e compensação automática quando uma etapa falha.
Utilize o Confluent Schema Registry com Avro e Protobuf no Spring Boot 3 para controlar o formato de mensagens Kafka e evoluir schemas de forma segura.