【发布时间】:2021-02-16 22:25:18
【问题描述】:
我有一些微服务,其中每个微服务都有用于 CRUD 操作的 REST 端点。 我必须创建一个工作流,该工作流将从一个具有一些初始输入的微服务开始,但稍后来自微服务的输出可以用作其他微服务的输入。可以对这些 REST API 进行一些同步和异步调用。
我已经寻找了一些工作流引擎,但我认为不编写任何 Java 代码就可以创建我的工作流。
我应该为微服务编排编写一个单独的微服务吗?这个编排微服务将知道确切的工作流,并且可以为启动工作流所需的输入进行配置,它还可以使用一些第三方工作流引擎,如 Camunda 来存储工作流的定义。
为微服务编排单独的微服务是正确的想法吗?到目前为止,现有的微服务对其他微服务一无所知。在将一个微服务的输出用作其他微服务的输入之前,可能需要对它的输出进行处理。
【问题讨论】:
-
你说的“但是后来一个微服务的输出可以用作其他微服务的输入”是什么意思。您能否更具体地说明如何将一个微服务的输出用作另一个微服务的输入?这对您的场景来说究竟有多大问题?
-
假设一个 REST 端点为 GET 方法返回一些 JSON,并且输出用于 POST 消息到其他微服务。我的基本问题是“我是否应该创建一个单独的微服务来完成所有的编排工作,因为我没有看到工作流引擎可以解决微服务之间的所有交互问题?”
标签: microservices camunda orchestration