Esta é uma demonstração desenvolvida em Java com o framework Spring, utilizando o Apache Kafka para processamento de mensagens em lote e multithread. Também são utilizados o Prometheus e o Grafana para monitoramento e visualização dos dados.
- Docker e Docker Compose instalados na máquina local.
- SDK Java 20
-
Clone o repositório para a sua máquina local.
-
Navegue até o diretório raiz do projeto.
-
Abra o arquivo
docker-compose.yml
e verifique as configurações dos serviços. Certifique-se de que as portas estejam corretas e os volumes estejam configurados de acordo com a sua preferência. -
No arquivo
docker-compose.yml
, a seçãoservices
define os serviços a serem executados, como o Zookeeper, Kafka, Kafdrop, Prometheus e Grafana. Verifique se todas as dependências estão corretamente configuradas. -
A seção
volumes
define os volumes Docker para persistência de dados. Você pode ajustar os caminhos dos volumes de acordo com a sua preferência. -
Após verificar e ajustar as configurações, salve o arquivo
docker-compose.yml
.
-
Abra um terminal ou prompt de comando.
-
Navegue até o diretório raiz do projeto, onde se encontra o arquivo
docker-compose.yml
. -
Execute o seguinte comando para iniciar os serviços definidos no arquivo
docker-compose.yml
:
Isso iniciará os contêineres Docker para o Zookeeper, Kafka, Kafdrop, Prometheus e Grafana. Os serviços serão executados em segundo plano (-d
).
- Aguarde até que todos os serviços estejam em execução. Verifique se não há erros no log de inicialização dos contêineres.
Após iniciar os serviços, você pode acessar os seguintes recursos:
-
Kafdrop: Acesse o Kafdrop em http://localhost:9000 para visualizar e explorar os tópicos e mensagens do Kafka.
-
Prometheus: Acesse o Prometheus em http://localhost:9090 para visualizar as métricas coletadas do Kafka.
-
Grafana: Acesse o Grafana em http://localhost:3000 e faça login com as credenciais padrão (usuário: admin, senha: admin). Configure um novo painel para visualizar os dados e métricas coletadas pelo Prometheus.
-
Adicione o DashBoard template do grafana
- Documentação do Zookeeper
- Documentação do Kafka
- Documentação do Kafdrop
- Documentação do Prometheus
- Documentação do Grafana
Certifique-se de que todas as dependências e configurações estejam corretas antes de executar a aplicação. Caso encontre algum problema ou dificuldade, consulte a documentação oficial dos serviços utilizados ou verifique as configurações e logs dos contêineres Docker.