×

代理可以与触发器结合使用,将事件从事件源传递到事件接收器。事件作为 HTTP POST 请求从事件源发送到代理。事件进入代理后,可以使用触发器根据CloudEvent 属性进行过滤,并作为 HTTP POST 请求发送到事件接收器。

Broker event delivery overview

如果您使用的是用于 Apache Kafka 的 Knative 代理,则可以配置从触发器到事件接收器的事件传递顺序。请参阅配置触发器的事件传递顺序

配置触发器的事件传递顺序

如果您使用的是 Kafka 代理,则可以配置从触发器到事件接收器的事件传递顺序。

前提条件
  • 在您的 OpenShift Container Platform 集群上安装了 OpenShift Serverless Operator、Knative Eventing 和 Knative Kafka。

  • Kafka 代理已启用在您的集群上使用,并且您已创建了一个 Kafka 代理。

  • 您已创建了一个项目,或有权访问具有在 OpenShift Container Platform 中创建应用程序和其他工作负载的适当角色和权限的项目。

  • 您已安装 OpenShift (oc) CLI。

步骤
  1. 创建或修改 Trigger 对象并设置 kafka.eventing.knative.dev/delivery.order 注解

    apiVersion: eventing.knative.dev/v1
    kind: Trigger
    metadata:
      name: <trigger_name>
      annotations:
         kafka.eventing.knative.dev/delivery.order: ordered
    # ...

    支持的消费者传递保证是

    无序

    无序消费者是非阻塞消费者,它以无序的方式传递消息,同时保留正确的偏移量管理。

    有序

    有序消费者是每个分区的阻塞消费者,它会在将分区的下一条消息传递之前等待来自 CloudEvent 订阅者的成功响应。

    默认排序保证为 unordered

  2. 应用 Trigger 对象

    $ oc apply -f <filename>

后续步骤