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

# 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

# Packages

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

# Functions

No description provided by the author
No description provided by the author
New initializes a new Saga with the given identifier.
No description provided by the author
No description provided by the author
No description provided by the author

# Constants

No description provided by the author

# Variables

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

# Structs

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
************************************************************ In-Memory Carrier Configuration */.
No description provided by the author
No description provided by the author
************************************************************ Redis Carrier Configuration */.
No description provided by the author
No description provided by the author

# Interfaces

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

# Type aliases

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