Brokers can be used in combination with triggers to deliver events from an event source to an event sink. Events are sent from an event source to a broker as an HTTP POST
request. After events have entered the broker, they can be filtered by CloudEvent attributes using triggers, and sent as an HTTP POST
request to an event sink.
If you are using a Knative broker for Apache Kafka, you can configure the delivery order of events from triggers to event sinks. See Configuring event delivery ordering for triggers.
If you are using a Kafka broker, you can configure the delivery order of events from triggers to event sinks.
The OpenShift Serverless Operator, Knative Eventing, and Knative Kafka are installed on your OpenShift Container Platform cluster.
Kafka broker is enabled for use on your cluster, and you have created a Kafka broker.
You have created a project or have access to a project with the appropriate roles and permissions to create applications and other workloads in OpenShift Container Platform.
You have installed the OpenShift (oc
) CLI.
Create or modify a Trigger
object and set the kafka.eventing.knative.dev/delivery.order
annotation:
apiVersion: eventing.knative.dev/v1
kind: Trigger
metadata:
name: <trigger_name>
annotations:
kafka.eventing.knative.dev/delivery.order: ordered
# ...
The supported consumer delivery guarantees are:
unordered
An unordered consumer is a non-blocking consumer that delivers messages unordered, while preserving proper offset management.
ordered
An ordered consumer is a per-partition blocking consumer that waits for a successful response from the CloudEvent subscriber before it delivers the next message of the partition.
The default ordering guarantee is unordered
.
Apply the Trigger
object:
$ oc apply -f <filename>
Configure event delivery parameters that are applied in cases where an event fails to be delivered to an event sink.