Guia da Série: Construindo um Simulador de Corretora com Microserviços
#Infrastructure

Guia da Série: Construindo um Simulador de Corretora com Microserviços

Backend Reporter
2 min read

Índice completo da série My Broker B3, um laboratório prático de engenharia de software que simula a integração entre uma corretora e a B3 usando Java, Python, Kafka e RabbitMQ.

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

Visão Geral do Projeto

Apresentação da arquitetura macro, stack tecnológica (Java, Python, Kafka, RabbitMQ) e os objetivos do simulador.

Infraestrutura com Docker Compose

Como subi 14 containers (SQL, NoSQL, Cache e Mensageria) garantindo isolamento de domínios e boas práticas com .env.

Market Data: O Integrador

Python, MongoDB e Kafka - Como construí o serviço de ingestão que consome a API Brappi, garante a persistência histórica no MongoDB e utiliza chaves no Kafka para assegurar a ordenação das cotações por ativo.

... mais artigos serão adicionados conforme o desenvolvimento avança!

Sobre o Projeto

O My Broker B3 é um simulador de ecossistema financeiro que replica a complexidade de uma corretora real conectada à B3 (Brasil, Bolsa, Balcão). O projeto foi concebido como um laboratório prático para aplicar conceitos avançados de engenharia de software em um contexto realista.

Stack Tecnológica

  • Backend: Java e Python
  • Mensageria: Apache Kafka e RabbitMQ
  • Bancos de Dados: PostgreSQL, MongoDB, Redis
  • Orquestração: Docker Compose
  • API Externa: Brappi (fonte de dados de mercado)

Arquitetura Distribuída

O sistema foi projetado com base em microserviços, onde cada componente tem responsabilidade bem definida:

  • Serviços de Domínio: Isolamento de responsabilidades por área de negócio
  • Mensageria Assíncrona: Comunicação entre serviços via Kafka e RabbitMQ
  • Persistência Poliglota: Diferentes bancos para diferentes necessidades
  • Orquestração de Containers: 14 containers gerenciados via Docker Compose

Desafios Técnicos Enfrentados

  • Isolamento de Domínios: Garantir que cada serviço opere de forma independente
  • Ordenação de Mensagens: Utilizar chaves no Kafka para manter a ordem das cotações por ativo
  • Gestão de Configurações: Implementação de boas práticas com arquivos .env
  • Integração com APIs Externas: Consumo da API Brappi para dados de mercado em tempo real

Aprendizados e Objetivos

Este projeto não é apenas um simulador funcional, mas um estudo de caso completo sobre como construir sistemas distribuídos robustos. Os artigos documentam cada decisão arquitetural, cada desafio técnico e cada solução implementada, servindo como material de referência para desenvolvedores que enfrentam problemas similares.

Os próximos artigos abordarão temas como autenticação e autorização, processamento de ordens, gestão de risco, e a integração final entre todos os componentes do ecossistema.


Minhas Redes:

Artigos da série em desenvolvimento contínuo. Acompanhe para não perder as atualizações!

Comments

Loading comments...