第 8 章 事件交付
您可以配置事件交付参数,当事件无法发送到事件 sink 时。不同的频道和代理类型都有自己的行为模式,用于事件交付。
配置事件交付参数,包括死信接收器,可确保重试任何无法发送到事件接收器的事件。否则,未验证的事件将被丢弃。
重要
如果事件成功传送到 Apache Kafka 的频道或代理接收器,接收器会使用 202
状态代码进行响应,这意味着事件已被安全地存储在 Kafka 主题中,且不会丢失。如果接收器使用任何其他状态代码响应,则事件不会被安全存储,用户必须执行步骤来解决这个问题。
8.1. 可配置事件交付参数
为事件交付配置以下参数:
- 死信接收器
-
您可以配置
deadLetterSink
交付参数,以便在事件无法发送时,它存储在指定的事件 sink 中。取消请求没有存储在死信接收器中的事件会被丢弃。死信接收器是符合 Knative Eventing sink 合同的任何可寻址对象,如 Knative 服务、Kubernetes 服务或一个 URI。 - Retries
-
您可以通过使用整数值配置重试 delivery 参数,在事件发送到 dead letter sink 前
重试
交付的次数。 - Back off 延迟
-
您可以设置
backoffDelay
交付参数,以在失败后尝试事件交付重试前指定延迟。backoffDelay
参数的持续时间使用 ISO 8601 格式指定。例如,PT1S
指定 1 秒延迟。 - Back off 策略
-
backoffPolicy
交付参数可以用来指定重试避退策略。该策略可以指定为linear
或exponential
。当使用linear
back off 策略时,back off 延迟等同于backoffDelay * <numberOfRetries>
。当使用exponential
backoff 策略时,back off 的延迟等于backoffDelay*2^<numberOfRetries>
。