Skip to content

dsperax/poc-consumer-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

poc-consumer-go

Golang consumer - Kafka to PG SQL database.

Overview

(EN) The project consists of a consumer application in Golang that communicates a messaging system (kafka) with an SQL database (postgres). The purpose of the system is to replicate non-sensitive data to the database that the sales team has access to.

How to use

(EN) Download the project. It is necessary to have docker and golang installed on the machine. It is recommended to have some IDE to access the database and kafka (DBeaver and offset explorer, for example);

In the project folder, to download the images and prepare the environment (kafka and postgres) run the command:

docker compose up -d

In the poc-consumer-go\docs\postgres folder there is the postgres table creation script and in poc-consumer-go\docs\kafka some JSON models to generate the kafka message.

Finally, in the poc-consumer-go\app folder, run the following command to upload the consumer:

go run .\main.go

Finally, just trigger the message in the pattern prepared via kafka and perform the select on the database to see the saved data. It is worth mentioning that the project has methods of insert, update (in case of change in the customer's data) and delete (in case the status changes to "I").


Visão geral

(PT-BR) O projeto consiste em uma aplicação de consumer em Golang que comunica um sistema de messageria (kafka) com um banco de dados SQL (postgres). O intuito do sistema é replicar dados não sensíveis para o banco em que o time de vendas tem acesso.

Como usar

(PT-BR) Faça o download do projeto. É necessário possuir o docker e golang instalado na máquina. É recomendado possuir alguma IDE para acessar o banco de dados e o kafka (DBeaver e offset explorer, por exemplo);

Na pasta do projeto, para baixar as imagens e preparar o ambiente (kafka e postgres) execute o comando:

docker compose up -d

Na pasta poc-consumer-go\docs\postgres tem o script de criação da tabela no postgres e em poc-consumer-go\docs\kafka alguns modelos de JSON para gerar a mensagem do kafka.

Por último, na pasta poc-consumer-go\app, execute o seguinte comando para subir o consumer:

go run .\main.go

Por ultimo, basta disparar a mensagem no padrão da preparada via kafka e realizar o select no banco para ver os dados salvos. Vale ressaltar que o projeto conta com métodos de insert, update (em caso de alteração nos dados do cliente) e delete (caso o status mude para "I").


Evidences

General archtecture compose exec create table kafka on aplication up message message evidence registro processado insert db update db

Releases

No releases published

Packages

No packages published