跳到内容

Parallel

Parallel CRD 提供了一种简单的方法来定义分支列表,每个分支接收发送到 Parallel 入口通道的相同 CloudEvent。通常,每个分支都包含一个过滤函数来保护分支的执行。

Parallel 在后台创建 `Channel` 和 `Subscription`。

用法

Parallel Spec

Parallel 的 Spec 有三个部分

  1. `branches` 定义了 `filter` 和 `subscriber` 对的列表,每个分支一个,以及可选的 `reply` 对象。对于每个分支
  2. (可选) `filter` 会被评估,当它返回一个事件时,`subscriber` 会被执行。`filter` 和 `subscriber` 都必须是 `Addressable`。
  3. `subscriber` 返回的事件将被发送到分支 `reply` 对象。当 `reply` 为空时,事件将被发送到 `spec.reply` 对象。
  4. (可选) `channelTemplate` 定义了用于创建 `Channel` 的模板。
  5. (可选) `reply` 定义了在分支没有自己的 `reply` 对象时将每个分支的结果发送到哪里。

Parallel Status

Parallel 的 Status 有三个部分

  1. `conditions` 详细说明了 Parallel 对象的整体状态
  2. `ingressChannelStatus` 和 `branchesStatuses` 传达了作为 Parallel 的一部分创建的底层 `Channel` 和 `Subscription` 资源的状态。
  3. `address` 是公开的,以便 Parallel 可以用在可以使用 Addressable 的地方。发送到该地址将定位到位于 Parallel 前面的 `Channel`(与 `ingressChannelStatus` 相同)。

示例

通过遵循以下内容,了解如何使用 Parallel 代码示例.

我们使用分析和 Cookie 来了解网站流量。有关您使用我们网站的信息将与 Google 共享以实现该目的。 了解更多.