微服务流程

微服务流程概览

微服务流是一种创建细粒度服务以执行特定任务的流程

例如,您可以使用微服务流来验证对用户账户的更改。 您可以让流程检查匹配的账户,以验证账户创建请求、账户更新和账户删除。 该流程可将请求标记为可执行或不可执行,并将所有响应发回原系统,以便采取下一步措施。

您可以创建使用独立执行模式的基于 REST 和基于消息的微服务。 其他微服务类型和平台计划在今后的版本中推出。

微服务使用微服务源来监听或读取 JSON 格式的请求。 在流程中,您可以使用任何可用的处理器来根据需要转换和路由记录。 您还可以使用目标和执行器来写入数据,并根据需要执行其他操作。

然后,使用一个或多个微服务目标将响应发送回源 ,并在必要时将记录写入目标系统。 然后, 源会将 JSON 格式的响应传送回源系统。

例如,您可以使用 WebSocket 服务器监听 WebSocket 端点,并处理所有授权请求。 在流程中,您使用阶段来处理数据,并根据记录被视为成功记录还是不良请求记录,将记录路由到不同的目标。 您可以使用两个 "发送响应到源 " 目标来返回不同的响应,200 表示 "OK",400 表示 "Bad Request"。 然后, 源会将记录和响应传回 WebSocket 端点。 或者,您可以使用不同的微服务目标将记录写入目标系统,同时将响应从目标系统发回

微服务流程的阶段

配置微服务流时 ,需要使用微服务、任何可用的数据收集器处理器、 目标和执行器,以及一个或多个微服务目标

微服务

微服务可监听或读取 JSON 格式的请求。 它们还会将微服务目标的响应发送回源系统。

您可以在微服务流程中使用以下
  • REST 服务 - 监听 HTTP 端点,解析所有授权请求的内容,并将响应发回源 REST API。 创建多个线程,以便在多线程流程中进行并行处理。
  • WebSocket 客户端 - 从 服务器端点读取数据。 WebSocket 可将响应作为微服务流的一部分发送回源系统。
  • WebSocket 服务器 - 监听 端点并处理所有经授权的 客户端请求内容。 WebSocket WebSocket 创建多个线程,以便在多线程流程中进行并行处理。 可将响应作为微服务流的一部分发送回源系统。

微服务目标

大多数微服务目标都执行两项任务。 除了向目标系统写入数据外,它们还会向源阶段发送响应,以便传递给源系统。 配置微服务目标时,需要指定响应是成功写入目标系统的记录,还是从目标系统传递的响应。

当您不需要将数据写入目标系统时,您可以使用“发送响应到目标” ,该目标将记录和响应传递到而无需写入目标

如果想在不发送响应的情况下写入目标系统,可以在微服务流中使用非微服务目标

以下微服务目标可以向微服务发送响应:
  • HTTP 客户端目标 - 将数据写入 端点。 HTTP 可在微服务流中向微服务发送响应。
  • Kafka 生产者目标 - 将数据写入 集群。 Kafka 可在微服务流中向微服务发送响应。
  • Kinesis Producer target - 向 Kinesis Streams 写入数据。 可在微服务流中向微服务发送响应。
  • 将响应发送到目标 - 将具有指定响应的记录发送到中的微服务 不向目标系统写入数据。

样品

要从样本微服务开始,请从样本流中创建数据收集器 ,然后选择样本微服务您可以根据自己的需要编辑流程。 或者,你也可以创建一个空白 流程 ,在干净的画布上使用微服务阶段。

示例流程展示了如何在微服务流程中使用 REST 服务和多个发送响应到源目标

流程画布 (flow canvas)

示例流程使用 HTTP 路由器处理器根据 REST API 请求方法和路径参数将数据路由到不同的流,执行附加处理,然后将记录传递到发送响应到源 目标目标将记录传回 REST 服务 ,并指定状态代码,在本例中,200 表示 OK。 流量错误处理也会将记录传回 ,并带有 400 Bad Request 状态代码。 REST 服务源会将收到的记录生成一个响应,并将其发送给发起客户端。

流程说明包含使用 curl命令行HTTP 客户端与之交互的操作指南。

创建微服务流程

关于本任务

创建微服务流程 ,创建细粒度微服务。

过程

  1. 流程存储库视图中,单击添加图标。
  2. 新建管道窗口中,输入流程名称和可选描述,然后选择数据收集器作为执行引擎。
  3. 然后,指定创建流程的方式:
    • 选择 " 空白管道 "以使用空画布,然后单击 " 下一步 "。
    • 选择 “示例管道” ,单击 “下一步” ,然后选择 “示例微服务管道” ,根据示例流程设计微服务流程或查看示例流程。 然后,再次单击 " 下一步 "。
  4. 选择创作数据收集器窗口中,选择要使用的创作数据收集器 ,然后单击创建
  5. 开始使用样本流程时,要对流程进行探索,并根据需要进行修改。
  6. 从空白画布开始时,请执行以下步骤:
    1. 流程属性的常规选项卡上,确保执行模式设置为独立。
    2. 在 " 错误记录 "选项卡上,使用 "发送响应到源 "选项可将流量错误记录传递到微服务 ,以便作为错误记录包含在响应中。
    3. 可选择在 " 错误记录 - 将响应发送到起源 "选项卡上配置错误记录使用的状态代码。 默认值为 500,代表服务器内部错误。
    4. 使用微服务、一个或多个微服务目标以及其他必要的阶段来配置流程