微服务管道

微服务管道

一个微服务管道是一种创建细粒度的服务来执行特定任务的管道。

例如,您可以使用微服务管道来验证对用户帐户的更改。您可以通过管道检查匹配的帐户来验证帐户创建请求,帐户更新和帐户删除。管道可以将请求标记为可执行或不可执行,并将所有响应发送回源系统以进行下一步。

您可以创建使用独立执行模式的基于REST和基于消息的微服务管道。其他微服务类型和平台也计划在将来的版本中发布。

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

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

例如,您可以使用WebSocket Server源在WebSocket端点上侦听并处理所有授权的请求。在管道中,您将使用阶段来处理数据,并根据记录是成功记录还是错误请求记录将记录路由到不同的目标端。您使用两个“Send Response to Origin”来返回不同的响应,OK为200,Bad Request为400。然后,源端将带有响应的记录传递回WebSocket端点。或者,您可以使用其他微服务目标端将记录写入目标系统,同时将响应从目标系统发送回源端。

有关更多信息和描述性视频,请参阅关于微服务管道的博客文章。有关示例微服务管道的完整描述以及有关创建微服务管道的教程,请参见我们的GitHub教程“创建CRUD微服务管道”。

微服务管道的阶段

配置微服务管道时,将使用微服务源端,任何可用的Data Collector处理器,目标端和执行器以及一个或多个微服务目标端。

微服务的源端

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

您可以在微服务管道中使用以下源端:

  • REST Service源 – 侦听HTTP端点,解析所有授权请求的内容,并将响应发送回源REST API。创建多个线程以在多线程管道中启用并行处理。
  • WebSocket Client源 – 从WebSocket服务器端点读取数据。可以将响应作为微服务管道的一部分发送回源系统。
  • WebSocket Server源 – 侦听WebSocket端点并处理所有授权的WebSocket客户端请求的内容。创建多个线程以在多线程管道中启用并行处理。可以将响应作为微服务管道的一部分发送回源系统。

微服务目标端

大多数微服务目标端执行两项任务。除了将数据写入目标系统之外,它们还将响应发送到源阶段,然后传递到源系统。在配置微服务目标端时,可以指定是将响应是成功写入目标系统的记录还是从目标系统传递的响应。

当您不需要将数据写入目标系统时,可以使用Send Response to Origin目标端,该记录将记录和响应传递到源,而无需写入目标端。

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

以下微服务目标端可以将响应发送到微服务源:

  • HTTP Client目标端 – 将数据写入HTTP端点。可以向微服务管道中的微服务源发送响应。
  • Kafka Producer目标端 – 将数据写入Kafka集群。可以向微服务管道中的微服务源发送响应。
  • Kinesis Producer目标端 – 将数据写入Kinesis Streams。可以向微服务管道中的微服务源发送响应。
  • Send Response to Origin目标端 – 将具有指定响应的记录发送到管道中的微服务起点。不将数据写入目标系统。

样本管道

最初创建微服务管道时,示例微服务管道会显示在配置画布中。您可以编辑管道以适合您的需求。或者,您可以创建一个独立的管道,并在干净的画布中使用微服务阶段。

该示例管道说明了如何在微服务管道中使用REST Service源和几个Send Response to Origin目标端的方法:

示例管道使用HTTP Router处理器根据REST API请求方法和path参数将数据路由到不同的流,执行附加处理,然后将记录传递到Send Response to Origin目标端。目标端将记录与指定的状态码一起传回REST Service源,在本例中为200代表OK。管道错误处理还将记录与400 Bad Request状态代码一起传递回源端。REST Service源使用接收到的记录生成响应,并将其发送给源客户端。

管道描述包含有关使用curl命令行HTTP客户端与其进行交互的说明。有关示例管道的分步说明,请参阅“创建CRUD微服务管道”教程中的“创建微服务管道” 。

创建微服务管道

创建微服务管道以创建细粒度的微服务。
  1. “Home”“Getting Started”页面中,点击“Create New Pipeline”
    提示:要转到主页,请单击“Home”图标。
  2. 在“New Pipeline窗口中,输入管道标题和可选描述,然后选择要创建的管道类型:
    • Data Collector管道-选择以使用空白画布设计微服务管道。
    • Data Collector Edge管道-请勿用于微服务管道。
    • 微服务管道-选择此选项可基于样本管道设计微服务管道或查看示例管道。
  3. 从示例管道开始时,请探索管道并根据需要进行更改。
  4. 从空白画布开始时,请执行以下步骤:
    a.在管道属性的“General选项卡上,确保将“Execution Mode设置为“Standalone”。
    b.在“Error Records选项卡上,要将管道错误记录传递到微服务源以作为错误记录包含在响应中,请使用“Send Response to Origin”选项。
    c.(可选)在“Error Records – Send Response to Origin选项卡上,配置要与错误记录一起使用的状态代码。默认值为500,表示内部服务器错误。
    d.根据需要使用微服务源,一个或多个微服务目标端以及其他阶段来配置管道。