Seja bem-vindo ao índice oficial da série My Broker B3. Aqui você encontrará todos os artigos publicados sobre o desenvolvimento deste ecossistema financeiro, organizados na ordem ideal de leitura.
Este projeto é um laboratório prático onde aplico engenharia de software, sistemas distribuídos e mensageria para simular a integração entre uma Corretora e a B3.
🚀 Artigos da Série
-
- Apresentação do projeto My Broker B3: uma POC de ecossistema de microserviços que simula uma corretora integrada à B3. Visão geral dos 9 serviços, estratégia de comunicação (REST, Kafka, RabbitMQ), decisões de persistência (MySQL, PostgreSQL, MongoDB, Redis) e o fluxo completo de uma ordem ponta a ponta.
-
Infraestrutura com Docker Compose
- Como subir 12 containers com um único comando usando Docker Compose: isolamento de dados por domínio com múltiplos bancos MySQL, PostgreSQL, dois Redis independentes, MongoDB, Kafka no modo KRaft, RabbitMQ e observabilidade com Prometheus + Grafana desde o dia 1.
-
Market Data: O Integrador Python, MongoDB e Kafka
- O ingestor de dados reais da B3: serviço Python que busca cotações de 50 ativos na API Brapi a cada 30 minutos, persiste o histórico no MongoDB e publica eventos no Kafka. Decisões sobre scheduling, rate limiting, producer Kafka por execução e proteção de token.
-
Dicas de Ferramentas: MongoDB Compass e Offset Explorer
- As ferramentas indispensáveis para visualizar dados em um pipeline assíncrono: MongoDB Compass para inspecionar collections, Offset Explorer para ver mensagens no Kafka em tempo real e RabbitMQ Management UI para monitorar filas e exchanges.
-
Do Stream para o Banco: Processando Market Data com Spring Boot, Redis e Flyway
- Do stream para o banco: serviço Spring Boot que consome cotações do Kafka, faz upsert no MySQL com Flyway e mantém o cache Redis com TTL. Decisões sobre timestamp real do mercado, filtro de status nas queries JPA e por que relançar exceções no consumer Kafka.
-
Sincronizando o Mercado Real: Consumindo a Brapi e Alimentando o Redis com Spring Boot
- Sincronizando preços reais da Brapi para o Redis com Spring Boot: scheduler com guard de horário de pregão usando ZonedDateTime explícito, deserializer customizado para epoch Unix, TTL de 5 minutos e endpoint REST para observabilidade dos preços em cache.
-
O Coração da B3: Construindo o Matching Engine com RabbitMQ, Redis e Spring Boot
- O motor de execução que simula a B3: consome ordens via RabbitMQ, consulta o preço atual no Redis para decidir entre FILLED e REJECTED, persiste o resultado no PostgreSQL com garantia transacional e devolve o feedback para a corretora — incluindo Dead Letter Queue para mensagens com falha.
-
Custódia Financeira: Gerenciando Saldo e Carteira com Consistência Eventual
- Custódia financeira com consistência eventual: serviço que reage a eventos Kafka de ciclo de vida das ordens para bloquear saldo (PENDING), liquidar (FILLED) ou estornar (REJECTED). Cálculo de preço médio ponderado, idempotência com constraint de banco e o conceito de saldo bloqueado vs disponível.
-
O Maestro do Ecossistema: Orquestrando Ordens de Mercado com Kafka, RabbitMQ e Spring Boot
- O maestro do ecossistema: orquestra o ciclo de vida completo de uma ordem validando saldo via Feign, persistindo como PENDING, enviando para a B3 via RabbitMQ e publicando dois eventos Kafka — um na criação e outro no status final. Por que exchange em vez de fila direta e a decisão de executedPrice nullable.
... mais artigos serão adicionados conforme o desenvolvimento avança!
Minhas Redes:
Top comments (0)