Exemplo de consumer com Spring Kafka
- JDK 1.8
- Acesso ao repositório https://repo.maven.apache.org/maven2/ ou uma
alternativa com acesso às dependências presentes no
pom.xml
Para montar o fatjar, execute o comando:
Linux
./mvnw clean package
Windows
.\mvnw.cmd clean package
Para executar:
Você pode utilizar o
docker-compose.yaml
para subir um Kafka em sua máquina
java \
-Dspring.kafka.bootstrap-servers='localhost:9092' \
-Dspring.kafka.consumer.client-id='spring-kafka-ex' \
-Dspring.kafka.consumer.group-id='meu-grupo' \
-jar target/app-spring-boot.jar
A definição Dockerfile desta aplicação emprega multi-stage builds. Isso significa que nela acontece o build da aplicação e a criação da imagem.
Se for necessário somente a criar a imagem, pode-se utilizar a definição Dockerfile-image. Mas antes é necessário montar o fatjar através do maven.
Para build do fatjar e montar a imagem, execute o comando:
docker build . -t sk-consumer-ex:1.0
Para montar apenas a imagem (antes é necessário o build do maven):
docker build -f Dockerfile-image . -t sk-consumer-ex:1.0
Para rodar o container:
Utilize o docker-compose e inicie todos os serviços para testes
docker run -p 8080:8080 \
-i --rm \
sk-consumer-ex:1.0
- Executar os testes
mvn clean test
- Acessar o relatório:
target/site/jacoco/index.html
Health Checks
Essas são configurações comuns quando a implantação do aplicação é feita em container, especificamente no Kubernetes.
-
/actuator/info
-
/actuator/health
Neste repositório existe o arquivo docker-compose.yaml, que inicia todas as partes móveis que a aplicação depende.
Iniciar a stack:
docker-compose up
Serviços presentes na stack
- Kafka:
localhost:9092