Olá, pessoal!
Post rápido de ferramentas hoje. Antes de avançarmos para os próximos serviços, quero compartilhar as ferramentas que uso para visualizar e inspecionar dados no MongoDB e no Kafka durante o desenvolvimento.
Sem essas ferramentas, depurar um pipeline de dados assíncrono seria muito mais difícil — você fica "cego" para o que está acontecendo dentro dos containers.
🍃 MongoDB — MongoDB Compass
O MongoDB Compass é a interface gráfica oficial do MongoDB. Gratuito e disponível para Windows, Mac e Linux.
O que você consegue fazer:
- Navegar pelas collections e documentos
- Executar queries com filtros visuais
- Ver índices criados pelo Flyway/código
- Inspecionar o schema dos documentos
- Monitorar métricas de performance
Como conectar ao container local:
URI: mongodb://root:password@localhost:27017/?authSource=admin
Após conectar, você verá o banco market_data_db com a collection price_history sendo populada pelo trading-broker-market-data a cada rodada de ingestão.
Download: mongodb.com/products/tools/compass
📨 Kafka — Offset Explorer (antigo Kafka Tool)
O Offset Explorer é uma interface gráfica para inspecionar clusters Kafka. Permite ver tópicos, partições, mensagens e offsets sem precisar usar a linha de comando.
O que você consegue fazer:
- Listar todos os tópicos do cluster
- Ver as mensagens de cada partição em tempo real
- Inspecionar o conteúdo (key + value) de cada mensagem
- Monitorar offsets dos consumer groups
- Verificar se os consumers estão com lag
Como conectar ao container local:
Bootstrap Servers: localhost:9092
Após conectar, você verá o tópico trading-assets-market-data-v1 com as mensagens publicadas pelo broker-market-data-api. Cada mensagem terá como key o ticker (ex: PETR4) e como value o JSON com a cotação.
Download: kafkatool.com
🐰 RabbitMQ — Management UI (já incluso)
O RabbitMQ já vem com uma interface web embutida. No nosso docker-compose.yml, a porta 15672 está exposta:
URL: http://localhost:15672
User: admin
Pass: admin_pass
O que você consegue fazer:
- Ver filas, exchanges e bindings
- Inspecionar mensagens nas filas
- Publicar mensagens manualmente para testar consumers
- Monitorar taxa de mensagens e lag
- Ver a DLQ (Dead Letter Queue) quando mensagens falham
Esta é a ferramenta mais útil para debugar o fluxo entre o broker-order-api e o b3-matching-engine-api.
💡 Dica de Workflow
Durante o desenvolvimento, eu uso as três ferramentas em paralelo:
-
Offset Explorer para confirmar que o
trading-broker-market-dataestá publicando mensagens no Kafka - MongoDB Compass para confirmar que o histórico está sendo persistido
- RabbitMQ Management para confirmar que as ordens estão chegando nas filas da B3
Isso transforma um pipeline assíncrono opaco em algo completamente observável.
🚀 O que vem a seguir?
Com as ferramentas configuradas, no próximo post construímos o b3-market-sync — o serviço Java que consome as cotações do Kafka e as sincroniza para o Redis, alimentando o Matching Engine com preços em tempo real.
🔎 Sobre a série
⬅️ Post Anterior: Integrador de Market Data
➡️ Próximo Post: Sincronizando o Mercado Real: Consumindo a Brapi e Alimentando o Redis com Spring Boot
📘 Índice da Série: Guia da Série
Links:
Top comments (0)