- jdk 17.0.2
- kafka 2.13-3.70
- Java 17
- Spring boot
- Spring kafka
- JPA repository
- H2
Repositório criado para testar comunicações entre dois serviços spring, utilizando kafka para comunicação
Foram criados dois microserviços utilizando spring-boot.
O micro-serviço recebe um objeto do tipo MessageDTO através de uma chamada http na API rest e adiciona-o ao tópico "message.request.topic.v1".
MessageDTO pode ser uma nova mensagem ou uma resposta para uma mensagem já existente na base. Basta somente, para o segundo cenário, informar o atributo "originMessageId"
O micro-serviço atua como consumidor do tópico "message.request.topic.v1", e a cada nova mensagem, persiste a mesma em um banco de memória h2 que pode ser acessado através do link localhost:8080/h2-console
Também é possivel recuperar uma lista de mensagens postadas por um usuário e suas respectivas respostas através do endpoint "/user/{id}/messages: