Kafka broker ordered delivery (#3369)

* Kafka broker ordered delivery

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Suggestions

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Fix trailing whitespace

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Suggestions

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>

* Trailing whitespace

Signed-off-by: Francesco Guardiani <francescoguard@gmail.com>
This commit is contained in:
Francesco Guardiani 2021-04-07 16:58:49 +02:00 committed by GitHub
parent 778b1fb3ae
commit 97b375dbee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 30 additions and 1 deletions

View File

@ -293,6 +293,35 @@ To change the logging level to `DEBUG`, you must:
kubectl rollout restart deployment -n knative-eventing kafka-broker-dispatcher kubectl rollout restart deployment -n knative-eventing kafka-broker-dispatcher
``` ```
## Configuring the order of delivered events
When dispatching events, the Kafka broker can be configured to support different delivery ordering guarantees.
You can configure the delivery order of events using the `kafka.eventing.knative.dev/delivery.order` annotation on the `Trigger` object:
```yaml
apiVersion: eventing.knative.dev/v1
kind: Trigger
metadata:
name: my-service-trigger
annotations:
kafka.eventing.knative.dev/delivery.order: ordered
spec:
broker: my-kafka-broker
subscriber:
ref:
apiVersion: serving.knative.dev/v1
kind: Service
name: my-service
```
The supported consumer delivery guarantees are:
* `unordered`: Unordered consumer is a non-blocking consumer that potentially delivers messages unordered, while preserving proper offset management.
* `ordered`: Ordered consumer is a per-partition blocking consumer that delivers messages in order.
`unordered` is the default ordering guarantee, while **`ordered` is considered unstable, use with caution**.
### Additional information ### Additional information
- To report bugs or add feature requests, open an issue in the [eventing-kafka-broker repository](https://github.com/knative-sandbox/eventing-kafka-broker). - To report a bug or request a feature, open an issue in the [eventing-kafka-broker repository](https://github.com/knative-sandbox/eventing-kafka-broker).