StackSaga 依赖项与关联关系 (Dependencies and Relations)
上图展示了需要添加到项目中的所有核心依赖项以及它们在 StackSaga 伞状架构中的相互关系。
-
如上图所示,StackSaga 包含两个主要的框架实现:
-
StackSaga 框架(同步实现,Synchronous Implementation)
-
StackSaga-Kafka 框架(使用 Kafka 作为消息代理的异步实现,Asynchronous Implementation)
-
-
如果您使用的是 StackSaga 框架(同步实现),主要需要在以下微服务中添加依赖项:
-
编排服务 (orchestrator-service)
在编排服务中,需要添加以下三个核心依赖项:-
stacksaga-database-support(根据您的主数据库选择对应的数据库支持模块)
-
stacksaga-environment-support(参见 SagaRegionResolver)
-
Agent 服务 / 重试节点 (agent-service / retry-node)(参见 重试环形协调器)
添加到 Agent 服务的依赖项取决于编排服务中使用的数据库支持依赖项。 例如,如果编排服务中使用的是stacksaga-mysql-support,则需要在 Agent 服务中添加stacksaga-agent-mysql依赖项。
-
-
如果您使用的是 StackSaga-Kafka 框架(异步实现),主要需要在以下服务中添加依赖项:
-
编排服务 (orchestrator-service)
在编排服务中,需要添加以下三个核心依赖项:-
stacksaga-database-support(根据您的主数据库选择对应的数据库支持模块)
-
stacksaga-environment-support(参见 SagaRegionResolver)
-
Agent 服务 / 重试节点 (agent-service / retry-node)(参见 重试环形协调器)
添加到 Agent 服务的依赖项取决于编排服务中使用的数据库支持依赖项。 例如,如果编排服务中使用的是stacksaga-mysql-support,则需要在 Agent 服务中添加stacksaga-kafka-agent-mysql依赖项。 -
客户端服务 / 目标工作节点 (client-service / target-service)
在客户端服务中,需要添加 stacksaga-kafka-client / worker 依赖项,以便能够消费消息并按照 StackSaga 协议规范将响应发送回编排服务。
-
stacksaga-database-support 与 stacksaga-environment-support 可作为通用共享模块同时用于 StackSaga 同步框架与 StackSaga-Kafka 异步框架。
例如,如果您的项目中同时使用同步框架与异步 Kafka 框架,您可以为二者复用相同的数据库支持与环境支持配置。
|