1

假设我们有一个带有 REST 端点的 REST 应用程序,我们可以将其包装在 Docker 容器中。

假设我们的 Spring 批处理Item Processor喜欢使用上述应用程序来获取有关它正在处理的记录的业务逻辑信息。

我们喜欢这个 REST 应用程序仅由Spring Batch流程使用,我们不喜欢 Batch 流程与生产 REST 应用程序进行通信,而是拥有某种它自己的 REST 应用程序实例。

我们还喜欢这个应用实例会在 Spring Batch 流程启动时自动创建,因此不需要额外的人工干预或配置。

Spring 批处理是否有可能使用 run 并将 REST 服务用作 Docker 容器(可能作为testconainer或docker compose?),以便它可以以某种方式“在内部”使用它?

这是一个合理的架构吗?

4

1 回答 1

1

我建议:

  • 创建一个自定义 docker 网络并将您的 Spring Batch 应用程序容器和 REST 应用程序容器附加到它。这两个容器仅在该网络中可见。
  • 将 Spring Batch 应用程序容器附加到 REST API 容器,以便项目处理器可以看到 REST API 端点并进行调用

您可以在此处找到有关如何创建自定义 docker 网络的官方教程。

希望这可以帮助。

于 2018-11-16T11:51:45.443 回答