matheuscarv69 / a-simple-kafka-producer

This application is a simple example of Kafka Producer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🚀 A Simple Kafka Producer 🔗

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.

GitHub stars Maven Central with version prefix filter

🤔 O que é este projeto?

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.

🧐 Mas o que é um Kafka Producer?

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.

🚀 Executando a aplicação 👾

📍 Local

Se você quiser fazer alguma modificação no código precisará ter instalado em sua máquina as seguintes ferramentas:

🐳 Docker

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:

⬇ 1. Pull

docker pull matheuscarv69/a-simple-kafka-producer

🏃‍♂️ 2. Running

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

🎲 Executando a API com o docker-compose

Com esse repositório já clonado em sua máquina e com todos os pré-requisitos atendidos.

  1. Você deve ir até a raiz do projeto onde o arquivo docker-compose.yml está.
  2. Deve abrir um terminal na raiz do projeto.
  3. Agora certifique-se que o seu Docker já está em execução.
  4. Execute o seguinte comando no terminal:
docker-compose up -d
  1. Com isso sua aplicação já está em execução por padrão na porta local 8081

🔧 Variáveis de Ambiente da Aplicação

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)

🚀 A Simple Kafka Consumer 📚

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.

🚀 Tecnologias 👩‍🚀

As seguintes tecnologias foram utilizadas no desenvolvimento do projeto.

  • Java 11
  • Spring Boot 2.7.4
    • Web
  • Swagger
  • Kafka

👨🏻‍💻 Autor



Matheus Carvalho
🚀

Feito por Matheus Carvalho, entre em contato!✌🏻

About

This application is a simple example of Kafka Producer


Languages

Language:Java 93.3%Language:Dockerfile 6.7%