This issue is to discuss whether First In First Out (FIFO) or ordered events should be something that's configurable through the spec.
The prominent implementations of Broker/Trigger currently already support ordered events through annotations:
Kafka: By setting kafka.eventing.knative.dev/delivery.order to ordered or unordered
Rabbitmq: FIFO vs high throughput is controlled by the same annotation rabbitmq.eventing.knative.dev/parallelism. When == 1, events will be in order.
Ordered events can be an important part of an application's setup and using annotations to configure it requires users to dig through the implementers documentation.
Open questions:
- Should supporting ordered events be a requirement for implementations or be left as a
MAY support?
- Where in the spec should the
ordered field be placed? One suggestion during the working group meeting was in the DeliverySpec
- Should the default be ordered events?
This issue is to discuss whether First In First Out (FIFO) or ordered events should be something that's configurable through the spec.
The prominent implementations of Broker/Trigger currently already support ordered events through annotations:
Kafka: By setting
kafka.eventing.knative.dev/delivery.ordertoorderedorunorderedRabbitmq: FIFO vs high throughput is controlled by the same annotation
rabbitmq.eventing.knative.dev/parallelism. When == 1, events will be in order.Ordered events can be an important part of an application's setup and using annotations to configure it requires users to dig through the implementers documentation.
Open questions:
MAYsupport?orderedfield be placed? One suggestion during the working group meeting was in theDeliverySpec