5.10. 触发器的事件交付顺序
在 Knative Eventing 中,事件的交付顺序在确保消息按照应用程序要求处理时扮演着重要角色。使用 Kafka 代理时,您可以指定事件是否应按顺序或不严格排序。通过配置交付顺序,您可以为需要顺序处理或优先发送性能的用例优化事件处理。
5.10.1. 为触发器配置事件交付顺序 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
如果使用 Kafka 代理,您可以将事件的交付顺序从触发器配置为事件 sink。
先决条件
- OpenShift Serverless Operator、Knative Eventing 和 Knative Kafka 安装在 OpenShift Container Platform 集群中。
- Kafka 代理被启用在集群中使用,您也创建了一个 Kafka 代理。
- 您已创建了一个项目,或者具有适当的角色和权限访问项目,以便在 OpenShift Container Platform 中创建应用程序和其他工作负载。
-
已安装 OpenShift (
oc
) CLI。
流程
创建或修改
Trigger
对象,并使用以下示例 Trigger YAML 文件设置kafka.eventing.knative.dev/delivery.order
注解:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 支持的消费者交付保证有:
unordered
- 未排序的消费者是一种非阻塞消费者,它能以未排序的方式提供消息,同时保持正确的偏移管理。
排序的
一个订购的消费者是一个按分区阻止消费者,在提供分区的下一个消息前等待来自 CloudEvent 订阅者成功响应。
默认排序保证是
unordered
。
使用以下命令应用
Trigger
对象:oc apply -f <filename>
$ oc apply -f <filename>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.10.2. 后续步骤 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
- 配置事件交付参数,当事件无法发送到事件 sink 时。