Categorygithub.com/vinay03/saga-go
repositorypackage
0.0.0-20240516152818-1861bdebe44a
Repository: https://github.com/vinay03/saga-go.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author

# README

Saga

A framework to implement Choreography based SAGA pattern in Golang. You can use this framework to implement SAGA pattern in local as well as distributed systems.

Planning Document: https://docs.google.com/spreadsheets/d/1s58lIXTGunvj4AzstEPtfdQZGGuCTdmA1rrYbhicQes/edit#gid=0

Structure

  • Entities
    • Stage (Sub-Transaction)
    • Saga
    • Transaction
    • Coordinator
  • Storage
    • In-Memory
    • DB
      • SQL
      • No-SQL
      • Key-Value
    • AMQP Protocol
      • Redis
      • RabbitMQ
      • Kafka

Coordinator

CoordinatorSaga

Saga

Stage

Saga Transaction + Coordinator

-> Start
-> StartAsync
-> Load
-> Abort

Tasks

  • DONE Make SAGA execution asynchronous
  • Add support for logger
    • Add support for logger agents and/or centralized logging