https://github.com/danilomeneghel/spring-boot-kafka
Projeto de envio de messageria utilizando Kafka e Java
https://github.com/danilomeneghel/spring-boot-kafka
docker docker-compose java-11 kafka lombok maven messageria queue spring-boot
Last synced: 3 months ago
JSON representation
Projeto de envio de messageria utilizando Kafka e Java
- Host: GitHub
- URL: https://github.com/danilomeneghel/spring-boot-kafka
- Owner: danilomeneghel
- License: mit
- Created: 2022-10-31T20:17:15.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2025-03-27T00:42:07.000Z (over 1 year ago)
- Last Synced: 2025-03-27T01:32:59.952Z (over 1 year ago)
- Topics: docker, docker-compose, java-11, kafka, lombok, maven, messageria, queue, spring-boot
- Language: Java
- Homepage:
- Size: 9.77 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Spring Boot Kafka
Projeto de envio de messageria utilizando Kafka e Java.
## Características
- Messageria
- Producer
- Consumer
- API RESTful
## Requisitos
- Java JDK 11
- Apache Maven >= 3.6.3 (Opcional)
- Docker (Opcional)
## Tecnologias
- Java
- Maven
- Spring
- Docker
## Instalação
```
$ git clone https://github.com/danilomeneghel/spring-boot-kafka.git
$ cd spring-boot-kafka
```
## Kafka
Primeiro rode o Kafka.
Caso não tenha o Kafka instalado, execute o seguinte comando via Docker:
```
docker network create app-tier --driver bridge
docker run -d --name zookeeper-server --network app-tier -e ALLOW_ANONYMOUS_LOGIN=yes bitnami/zookeeper:3.8.0
docker run -d --name kafka-server --network app-tier -p 9092:9092 -e ALLOW_PLAINTEXT_LISTENER=yes -e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 -e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092 -e KAFKA_CFG_LISTENERS=PLAINTEXT://0.0.0.0:9092 bitnami/kafka:3.3.2
docker run -it --rm --network app-tier -e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 bitnami/kafka:3.3.2 kafka-topics.sh --list --bootstrap-server kafka-server:9092
```
## Maven
Para carregar o projeto producer, digite no terminal:
```
$ cd spring-boot-kafka-producer
$ ./mvnw spring-boot:run -Dspring-boot.run.profiles=dev
```
Para carregar o projeto consumer, digite no terminal:
```
$ cd spring-boot-kafka-consumer
$ ./mvnw spring-boot:run -Dspring-boot.run.profiles=dev
```
Aguarde carregar todo o serviço web.
## Docker (Opcional)
Para rodar o projeto via Docker-Compose, basta executar o comando:
```
$ docker-compose up
```
Aguarde baixar as dependências e carregar todo o projeto, esse processo é demorado.
Caso conclua e não rode pela primeira vez, tente novamente executando o mesmo comando.
Para encerrar tudo digite:
```
$ docker-compose down
```
## Teste da Messageria
Para testar a aplicação abra o Postman e insira os seguintes dados:
POST
http://localhost:8081/kafka/salvar-pedido
```
{
"codigo": "111",
"nomeProduto": "xxxxxxx",
"valor": "11.11"
}
```
Após o envio retornará a seguinte mensagem:
```
Pedido enviado com sucesso.
```
E no console:
```
Evento Recebido = PedidoData(codigo=111, nomeProduto=xxxxxxx, valor=11.11)
```
## Licença
Projeto licenciado sob The MIT License (MIT).
Desenvolvido por
Danilo Meneghel
danilo.meneghel@gmail.com
http://danilomeneghel.github.io/