Stacksaga Dependencies and Relations
The above diagram shows all the main dependencies that should be added to your project and their relations of the StackSaga umbrella project.
-
As per the diagram, stacksaga has two main implementations called
-
stacksaga framework (synchronous implementation)
-
stacksaga-kafka framework (asynchronous implementation using Kafka as the message broker)
-
-
If you are using stacksaga framework(synchronous implementation), mainly you need to add the dependencies to the flowing services,
-
orchestrator-service
In the orchestrator-service, you need to add three main dependencies as follows,-
stacksaga-database-support (you can choose any one of the database support modules as per your primary database)
-
stacksaga-environment-support (you can choose any one of the environment support modules as per your deployment environment)
-
agent-service
The dependency that should be added to the agent-service depends on which database support dependency is used in the orchestrator-service. For instance, if you are using stacksaga-mysql-support in the orchestrator-service, you need to add stacksaga-agent-mysql dependency to the agent-service.
-
-
If you are using stacksaga-kafka framework(asynchronous implementation), mainly you need to add the dependencies to the flowing services,
-
orchestrator-service
In the orchestrator-service, you need to add three main dependencies as follows,-
stacksaga-database-support (you can choose any one of the database support modules as per your primary database)
-
stacksaga-environment-support (you can choose any one of the environment support modules as per your deployment environment)
-
agent-service
The dependency that should be added to the agent-service depends on which database support dependency is used in the orchestrator-service. For instance, if you are using stacksaga-mysql-support in the orchestrator-service, you need to add stacksaga-kafka-agent-mysql dependency to the agent-service. -
client-service(target-service)
In the client-service(target-service), you need to add the stacksaga-kafka-client dependency to be able to consume the messages and send the response back to the orchestrator-service with stacksaga specifications.
-
stacksaga-database-support and stacksaga-environment-support can be used for both stacksaga and stacksaga-kafka frameworks as a shared module. for instance, if you are using stacksaga-framework(synchronous implementation) and stacksaga-kafka-framework(asynchronous implementation) in your project together, you can use the same stacksaga-database-support and stacksaga-environment-support modules for both. |