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.
Reference documentation is available on the ServiceComb website.
- saga-core(transaction and compensation handling logic)
 - 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:
- Oracle JDK 1.8+
 - Maven 3.x
 - Docker
 - MySQL
 - Service Center(optional)
 - Docker compose(optional)
 - Docker machine(optional)
 
Download the source code.
git clone https://github.com/ServiceComb/saga.git
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
A docker-compose.yaml file is provided to start Saga services and its dependencies(Service center and Mysql) as docker containers.
User also can configure specified Service center or Mysql in docker-compose.yaml.
Enter the Saga root directory, run all service images using command,
docker-compose up
See Saga API for details.
See Saga demo for details.
Bugs: issues.
Mailing lists: users , developers
See Pull Request Guide for details.
See reporting bugs for details about reporting any issues.
