Saga::Spring

Eventual consistency component for distributed systems

License

License

GroupId

GroupId

org.apache.servicecomb.saga
ArtifactId

ArtifactId

saga-spring
Last Version

Last Version

0.3.0
Release Date

Release Date

Type

Type

jar
Description

Description

Saga::Spring
Eventual consistency component for distributed systems
Project Organization

Project Organization

The Apache Software Foundation

Download saga-spring

How to add to project

<!-- https://jarcasting.com/artifacts/org.apache.servicecomb.saga/saga-spring/ -->
<dependency>
    <groupId>org.apache.servicecomb.saga</groupId>
    <artifactId>saga-spring</artifactId>
    <version>0.3.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.apache.servicecomb.saga/saga-spring/
implementation 'org.apache.servicecomb.saga:saga-spring:0.3.0'
// https://jarcasting.com/artifacts/org.apache.servicecomb.saga/saga-spring/
implementation ("org.apache.servicecomb.saga:saga-spring:0.3.0")
'org.apache.servicecomb.saga:saga-spring:jar:0.3.0'
<dependency org="org.apache.servicecomb.saga" name="saga-spring" rev="0.3.0">
  <artifact name="saga-spring" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.apache.servicecomb.saga', module='saga-spring', version='0.3.0')
)
libraryDependencies += "org.apache.servicecomb.saga" % "saga-spring" % "0.3.0"
[org.apache.servicecomb.saga/saga-spring "0.3.0"]

Dependencies

compile (14)

Group / Artifact Type Version
org.apache.servicecomb.saga : saga-core jar 0.3.0
org.apache.servicecomb.saga : saga-core-akka jar 0.3.0
org.apache.servicecomb.saga : saga-format jar 0.3.0
org.apache.servicecomb.saga.transports : transport-httpclient-spring jar 0.3.0
org.apache.servicecomb.saga.discovery : saga-discovery-servicecenter jar 0.3.0
commons-io : commons-io jar 2.4
org.springframework.boot : spring-boot-starter jar
org.springframework.boot : spring-boot-starter-web jar
org.springframework.boot : spring-boot-starter-actuator jar
javax.persistence : javax.persistence-api jar 2.2
org.apache.servicecomb.saga : saga-persistence-jpa jar 0.3.0
io.kamon : kamon-core_2.12 jar 0.6.7
io.kamon : kamon-annotation_2.12 jar 0.6.7
com.lmax : disruptor jar 3.3.7

runtime (1)

Group / Artifact Type Version
org.postgresql : postgresql jar

test (5)

Group / Artifact Type Version
com.h2database : h2 jar
org.springframework.boot : spring-boot-starter-test jar 1.5.17.RELEASE
com.github.tomakehurst : wiremock-standalone jar 2.6.0
com.github.seanyinx : unit-scaffolding jar 1.0.0
io.rest-assured : rest-assured jar 3.0.3

Project Modules

There are no modules declared in this project.

Saga Actuator Build Status Coverage Status License

Purpose

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.

Documentation

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)

Saga

Prerequisites

You will need:

  1. Oracle JDK 1.8+
  2. Maven 3.x
  3. Docker

Building

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

Reference API

See Saga API for details.

Example

See Saga demo for details.

Contact

Contributing

See Pull Request Guide for details.

Reporting Issues

See reporting bugs for details about reporting any issues.

org.apache.servicecomb.saga

The Apache Software Foundation

Versions

Version
0.3.0