Skip to content

rafabene/saga-demo

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 

Saga Demo

Slides are available at http://bit.ly/sagakafka

To Execute this project, clone the repository, cd into it, and execute:

docker-compose up

You can use the Insominia file to POST a new order to http://localhost:8080/orchestration/order

You can download Insominia from https://insomnia.rest/download/core/

If you have Insominia installed, just click on the button bellow:

Run in Insomnia}

Overall Architecture

alt

Services information

The docker-compose file executes the following services

  • mongodb - Used to store rooms documents.

    Port: 279017

  • mongoexpres - Mongo UI

    Port: 8083

    Available at http://localhost:8083/

  • mysql - Used to store order and balance tables.

    Port: 3306

  • zookeeper and kafka - Kafka Broker

    Ports: 9092 (Inside docker network) / 19092 (To connect from outside docker network)

  • kafkadrop - Kafka Web UI

    Available at http://localhost:9000/

  • order - Written in NodeJS/ExpressJS, Receive order requests and process order commands.

    Port: 8080

  • booking - Written in Spring Boot, Process reservation requests.

    Port: 8081

  • payment - Written in MicroProfile/Helidon, Process payment requests.

    Port: 8082

  • orchestrator - Written in Kafka Streams. Coordinate the calls between the Kafka Topics from different services.

    This service doesn't expose any ports.

About

Saga Pattern demo

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published