StackSaga 依赖项与关联关系 (Dependencies and Relations)

stacksaga dependencies and relations

上图展示了需要添加到项目中的所有核心依赖项以及它们在 StackSaga 伞状架构中的相互关系。

  • 如上图所示,StackSaga 包含两个主要的框架实现:

  • 如果您使用的是 StackSaga 框架(同步实现),主要需要在以下微服务中添加依赖项:

    • 编排服务 (orchestrator-service)
      在编排服务中,需要添加以下三个核心依赖项:

    • Agent 服务 / 重试节点 (agent-service / retry-node)(参见 重试环形协调器)
      添加到 Agent 服务的依赖项取决于编排服务中使用的数据库支持依赖项。 例如,如果编排服务中使用的是 stacksaga-mysql-support,则需要在 Agent 服务中添加 stacksaga-agent-mysql 依赖项。

  • 如果您使用的是 StackSaga-Kafka 框架(异步实现),主要需要在以下服务中添加依赖项:

    • 编排服务 (orchestrator-service)
      在编排服务中,需要添加以下三个核心依赖项:

    • 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 框架,您可以为二者复用相同的数据库支持与环境支持配置。