微服务流程
微服务流程概览
微服务流是一种创建细粒度服务以执行特定任务的流程。
例如,您可以使用微服务流来验证对用户账户的更改。 您可以让流程检查匹配的账户,以验证账户创建请求、账户更新和账户删除。 该流程可将请求标记为可执行或不可执行,并将所有响应发回原系统,以便采取下一步措施。
您可以创建使用独立执行模式的基于 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 服务源和多个发送响应到源的目标 :

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