Olá, pessoal!
Ao desenvolver sistemas distribuídos como o My Broker B3, muitas vezes trabalhamos "às cegas" se não tivermos as ferramentas certas para validar o que acontece dentro dos nossos containers.
Hoje, quero compartilhar duas ferramentas essenciais que estou utilizando para garantir que os dados de mercado que busco com Python estejam chegando corretamente ao banco de dados e ao broker de mensagens.
1. MongoDB Compass: O GUI Oficial do MongoDB
Embora o MongoDB esteja rodando de forma isolada no Docker, o MongoDB Compass é a ferramenta que utilizo para "enxergar" os documentos salvos pelo microserviço de Market Data.
-
O que ele resolve: Permite validar se o mapeamento de dados no Python funcionou e se campos como
created_atepriceestão no formato esperado. -
Como conectar ao Docker:
-
Connection String:
mongodb://localhost:27017(Certifique-se de que a porta27017é a que você mapeou no seudocker-compose.yml).
-
Connection String:
-
Dica de uso: No Compass, você pode visualizar o histórico de preços na coleção
price_historyde forma tabular ou em formato JSON, o que facilita muito a conferência rápida.
📸 Visualização em modo documento:
📸 Visualização em modo tabela:
2. Offset Explorer (Antigo Kafka Tool)
O Kafka pode ser intimidador para gerenciar via linha de comando. O Offset Explorer é um cliente desktop que facilita absurdamente a visualização das mensagens dentro dos tópicos.
-
O que ele resolve: Permite ver em tempo real as mensagens chegando no tópico
trading-assets-market-data-v1. -
Configuração para o ambiente Docker:
- Cluster Name: MyBrokerKafka (ou o nome de sua preferência).
-
Zookeeper/Broker:
localhost:9092.
- Dica Crucial: Para conseguir ler o conteúdo das mensagens que enviamos como JSON via Python, vá nas configurações da ferramenta e altere o Content Type (Key e Value) de Byte Array para String.
📸 Visualizando as mensagens
💡 Por que isso é importante?
Dominar essas ferramentas de suporte acelera muito o ciclo de desenvolvimento. No nosso caso, o Offset Explorer foi fundamental para validar uma das decisões mais importantes do projeto: o uso do Ticker como chave (key) da mensagem no Kafka para garantir a ordenação dos preços por ativo.
🚀 Conclusão
Ter visibilidade sobre seus dados é o primeiro passo para construir sistemas resilientes. No próximo post da série principal, voltaremos ao ecossistema Java para começar a consumir esses eventos!
Gostou da dica? Quais ferramentas você costuma usar para depurar seus sistemas distribuídos?
🔎 Sobre a série
⬅️ Post Anterior: Integrador de Market Data.
📘 Índice da Série: Guia da Série.
Links:





Top comments (0)