restatedev / restate

Restate is the platform for building resilient applications that tolerate all infrastructure faults w/o the need for a PhD.
https://docs.restate.dev
Other
1.61k stars 35 forks source link

Kafka ordering/routing semantics #1423

Open slinkydeveloper opened 6 months ago

slinkydeveloper commented 6 months ago

In our kafka implementation we inherited much of the constraints about ordering from the delivery guarantees of the keyed/unkeyed service.

This is not needed anymore, and we should implement the following new semantics now:

slinkydeveloper commented 1 week ago

We agreed on the following support matrix:

Service handler Virtual object handler Virtual object shared handler Workflow run handler Workflow shared handler
Max parallelism, unordered
Ordered on topic/partition basis ✅ (with a flag in the subscription)
Routing using UTF-8 record key, unordered (https://github.com/restatedev/restate/issues/2100)
Routing and ordered using UTF-8 record key