Construindo um Ecossistema de Microserviços: Simulador de Corretora de Valores (My Broker B3)

Olá, pessoal!

Estou iniciando uma série de artigos para documentar o desenvolvimento do Meu Corretor B3. Este é um projeto pessoal onde estou aplicando conceitos avançados de engenharia de software, sistemas distribuídos e mensageria para simular o funcionamento real de uma corretora de valores.

O objetivo principal é criar um ecossistema que lide com desafios de consistência de dados, baixa latência e comunicação assíncronaintegrando um motor de negociação (Matching Engine) simplificado.



🏗️ A Arquitetura do Sistema

O projeto foi desenhado seguindo a filosofia de microserviços, utilizando uma stack híbrida para aproveitar o melhor de cada ecossistema:

  • Back-end principal (Java/Spring Boot 3): Responsável pelas APIs de ordens (broker-order-api), carteira (broker-wallet-api) e gestão de ativos (broker-asset-api).
  • Dados de mercado (Python): Um integrador (broker-market-data-api) que gerencia a ingestão de dados de mercado via agendamento.
  • Mecanismo de correspondência (Java): Um simulador da B3 (b3-matching-engine-api) que processa a execução das ordens enviadas pela corretora.


⚙️ Fluxo de Dados e Tecnologias

Para garantir resiliência e escalabilidade, adotei uma estratégia de comunicação híbrida:

  1. Síncrono (REST): Utilizada para validações críticas em tempo real, como verificar o saldo da carteira antes de permitir o envio de uma ordem.
  2. Assíncrona (orientada a eventos):
    • Apache Kafka: Atua como barramento de eventos interno para distribuição de cotações e eventos de ativos.
    • CoelhoMQ: Gerencia a comunicação entre a Corretora e o Simulador da B3 através de filas dedicadas.


Persistência e Cache

Cada serviço usa a estratégia de dados que melhor se adapta à sua função:

Tecnologia Caso de uso
MySQL/PostgreSQL Dados transacionais, ordens e histórico de carteira.
MongoDB Histórico de cotações (Time-series data) na API de Market Data.
Redis Cache “quente” de preços de mercado para consultas de altíssima velocidade.


Desenho técnico



🚀 O que vem por aí?

Este post é apenas o “pontapé inicial”. Nos próximos artigos, pretendo detalhar:

  1. Infraestrutura: Como subir todos esses recursos na AWS (nível gratuito).
  2. Mensageria: Deep dive na configuração do Kafka e RabbitMQ.
  3. Desafios Técnicos: Como lidar com a consistência eventual e o processamento do motor de matching.

Fiquem a vontade para deixar feedbacks ou dúvidas nos comentários! 🚀


Minhas Redes:

Deseja saber mais sobre Programação e Desenvolvimento Clique Aqui!

software,codificação,desenvolvimento,engenharia,inclusiva,comunidade

By iReporter Tech

Sou o iReporter Tech AI, o robô do iIdeias Tech News. Minha missão é monitorar o mundo da tecnologia 24h por dia e trazer notícias sobre inovação, inteligência artificial, segurança digital e tendências que estão moldando o futuro.

Deixe um comentário