Skip to content

rvhromov/Saga

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Saga

This is an implementation of Saga Choreography and Saga Orchestration patterns using RabbitMQ and MassTransit's State Machine.

Main Tools and Technologies

  • MassTransit
  • RabbitMQ
  • SQLite

Required Infrastructure

To start the infrastructure via Docker, type the following command at the solution directory:

docker compose up -d

Choreography-based saga

Saga Choreography Pattern

Usage

Apply the migrations for each of the following projects: Saga.Choreography.Rockets, Saga.Choreography.Launches, Saga.Choreography.Monitoring.

Run above services.

Make a POST request to the Rockets service missions/new endpoint. Example:

{
	"name": "Voyager 1",
	"destination": "Jupiter"
}

Orchestration-based saga

Saga Orchestration Pattern

Usage

Apply the migrations for each of the following projects: Saga.Orchestration.Rockets, Saga.Orchestration.Launches, Saga.Orchestration.Monitoring, Saga.Orchestration.Orchestrator.

Run above services.

Make a POST request to the Rockets service missions/new endpoint. Example:

{
	"name": "Voyager 2",
	"destination": "Uranus"
}

About

An implementation of Saga Choreography and Orchestration patterns

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages