Sake is an orchestration service that handles the execution, state management, and recovery of distributed sagas in a microservice environment.
The engine connects to a messaging service (currently nats-streaming only) and listens to recipe trigger topics to then begin a transaction. The transaction will either complete all requests in the recipe successfully or a subset of requests and their compensating requests will be executed.
go get -u github.com/danielkrainas/sake
sake engine -c <config_path>
Sake is currently in alpha stage development and not intended for production use at this time.
If you see a bug or have a suggestion, feel free to open an issue here.
PR's welcome! There are no strict style guidelines, just follow best practices and try to keep with the general look & feel of the code present. All submissions must pass golint
and have a test to verify (if applicable).
Unlicense. This is a Public Domain work.
"Make art not law" -Nina Paley