https://github.com/miguelprogrammer/saga-orquestrado
Arquitetura de Microsserviços: Padrão Saga Orquestrado: Projeto visando estudo design pattern saga orchestration. Nesse padrão de projeto , ou melhor, um orquestrador (objeto) informa aos participantes quais transações locais executar
https://github.com/miguelprogrammer/saga-orquestrado
api-rest architecture saga-pattern spring-boot
Last synced: 11 days ago
JSON representation
Arquitetura de Microsserviços: Padrão Saga Orquestrado: Projeto visando estudo design pattern saga orchestration. Nesse padrão de projeto , ou melhor, um orquestrador (objeto) informa aos participantes quais transações locais executar
- Host: GitHub
- URL: https://github.com/miguelprogrammer/saga-orquestrado
- Owner: MiguelProgrammer
- Created: 2024-01-10T20:00:03.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-01-15T21:27:30.000Z (over 2 years ago)
- Last Synced: 2025-01-20T23:46:22.604Z (over 1 year ago)
- Topics: api-rest, architecture, saga-pattern, spring-boot
- Language: Java
- Homepage:
- Size: 83 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
* Java 17
* Spring Boot 3
* Apache Kafka
* API REST
* PostgreSQL
* MongoDB
* Docker
* docker-compose
* Redpanda Console
# Arquitetura

## Order-Service:
microsserviço responsável apenas por gerar um pedido inicial, e receber uma notificação. Aqui que teremos endpoints REST para inciar o processo e recuperar os dados dos eventos. O banco de dados utilizado será o MongoDB.
## Orchestrator-Service:
microsserviço responsável por orquestrar todo o fluxo de execução da Saga, ele que saberá qual microsserviço foi executado e em qual estado, e para qual será o próximo microsserviço a ser enviado, este microsserviço também irá salvar o processo dos eventos. Este serviço não possui banco de dados.
## Product-Validation-Service:
microsserviço responsável por validar se o produto informado no pedido existe e está válido. Este microsserviço guardará a validação de um produto para o ID de um pedido. O banco de dados utilizado será o PostgreSQL.
## Payment-Service:
microsserviço responsável por realizar um pagamento com base nos valores unitários e quantidades informadas no pedido. Este microsserviço guardará a informação de pagamento de um pedido. O banco de dados utilizado será o PostgreSQL.
## Inventory-Service:
microsserviço responsável por realizar a baixa do estoque dos produtos de um pedido. Este microsserviço guardará a informação da baixa de um produto para o ID de um pedido. O banco de dados utilizado será o PostgreSQL.