/agregador

Case de estudo para agregação de dados legados utilizando Quarkus, Kafka e MongoDB.

Primary LanguageJava

Agregador

Simulando um cenário de vários sistemas e bases de dados legadas, esse projeto tem como intuito agregar as informações de cada base numa estrutura nova que possibilite a construção de novos sistemas em tecnologias mais modernas.

Cada nova transação de dados também é exposta em tempo real através de mensageria para que novos sistemas possam ser notificados instantaneamente.

O projeto está escrito em Java 11 utilizando o framework Quarkus. A base de dados que simula o novo repositório é uma instância MongoDB e o Kafka é utilizado como provedor de mensageria.

Para construção do ambiente antes da execução do projeto:

docker-compose up

Isso irá criar 4 instancias Docker:

  • MySQL (Simulando uma base de dados legada)
  • MongoDB (A nova base de dados)
  • Zookeper (Banco de dados para o Kafka)
  • Kafka (Servidor de mensageria)

Execute o projeto com:

./mvnw compile quarkus:dev

Uma tabela com as últimas transações processadas pode ser visualizada no endereço http://localhost:8080.

API

Através do endereço http://localhost:8080/api/trasacoes é possível obter uma lista com 1000 transações ordenadas por Data em forma decrescente.