Este projeto trata-se de uma POC de um jovem desocupado/entediado em um sábado à tarde, ele consiste basicamente em uma API com um endpoint e um simples e inocente Kafka Producer.
As tecnologias usadas para isso foram Java, Spring Boot, Kafka e Swagger.
Ele nada mais é que um Kafka Producer, implementado da forma mais simples possível para se ter um Producer operante quando for necessário.
Logo, podemos dizer que ele trata-se de um template para os futuros Kafka Producers que este humilde dev que os escreve, possa vir a desenvolver.
Apache Kafka é uma plataforma de streaming baseada em sistema distribuído de publish/subscribe, onde há um processo chamado producer, que envia mensagens para um tópico.
Se você quiser fazer alguma modificação no código precisará ter instalado em sua máquina as seguintes ferramentas:
Este projeto conta com um docker-compose, contento os serviços de zookepper e kafka, inclusive a própria imagem da aplicação já está configurada para ser executada no docker.
Caso queria executar somente os serviços do Apache Kafka, por favor comente o serviço da aplicação no docker-compose.
Os requisitos para isso são:
- Docker - Baixe de acordo com o seu SO
- Docker-compose - Se estiver utilizando Windows, o Docker desktop já possui o docker-compose instalado
A imagem da aplicação também está disponível no Docker Hub:
Caso queria executa-lá através dessa imagem, abaixo tem alguns comandos que podem lhe ajudar:
docker pull matheuscarv69/a-simple-kafka-producer
O comando abaixo executa a imagem baixada em um container, essa aplicação possui algumas env vars, atenção para as que possuem o sufixo HOST, neste você deve colocar o ipv4 da sua máquina.
docker run -d -p 8081:8081 -e SERVER_PORT=8081 -e KAFKA_HOST="localhost:9092" -e KAFKA_GROUP_ID="a-simple-group-id" -e KAFKA_TOPIC_NAME="a-simple-topic" matheuscarv69/a-simple-kafka-producer
Com esse repositório já clonado em sua máquina e com todos os pré-requisitos atendidos.
- Você deve ir até a raiz do projeto onde o arquivo docker-compose.yml está.
- Deve abrir um terminal na raiz do projeto.
- Agora certifique-se que o seu Docker já está em execução.
- Execute o seguinte comando no terminal:
docker-compose up -d
- Com isso sua aplicação já está em execução por padrão na porta local 8081
ENV_VARS | Descrição |
---|---|
SERVER_PORT | Porta que a aplicação utilizará em sua execução. (Default: 8081) |
KAFKA_HOST | Url do Kafka. (Default: localhost: 9092) |
KAFKA_TOPIC_NAME | Nome do tópico do kafka. (Default: a-simple-topic) |
KAFKA_GROUP_ID | Group Id do Kafka. (Default: a-simple-group-id) |
Essa é uma API que foi desenvolvida para ser um simples Kafka Consumer seguindo a mesma pegada desse projeto, no link abaixo você pode acessar toda a documentação e a aplicação.
As seguintes tecnologias foram utilizadas no desenvolvimento do projeto.
- Java 11
- Spring Boot 2.7.4
- Web
- Swagger
- Kafka
Matheus Carvalho 🚀
Feito por Matheus Carvalho, entre em contato!✌🏻