Saga is a type of Compensating Transaction pattern, which provides a simple way to help users solve the data consistency problems encountered in micro-service applications. Saga actuator provides a centralized execution engine to delegate the request to the outside services to provide eventual data consistency in Saga way.
Reference documentation is available on the ServiceComb website.
Major Architecture of Saga
- saga-core(transaction and compensation handling logic)
- saga-core-akka(leverage the actor for executor)
- saga-format(data serialization and deserialization)
- saga-transports(communication protocol implementation such as rest or rpc in the future)
- saga-discovery(service discovery)
- saga-spring(restful service framework)
You will need:
Download the source code.
git clone https://github.com/apache/servicecomb-saga-actuator
Enter the Saga root directory,biuld Saga project by maven command and generate a docker image named saga-spring in local.
mvn package -DskipTests -Pdocker
See Saga API for details.
See Saga demo for details.
See Pull Request Guide for details.
See reporting bugs for details about reporting any issues.