| ▲ | mfateev an hour ago | |
Disclaimer: I'm a co-founder of Temporal. Temporal has 3 types of activities: * local: executed in the same process as the orchestrator code. Many local activities can be executed locally before their results are sent to a backend server in a single RPC call. * task queue based: executed by a pool of worker processes that poll from the queue. This is the most flexible model as it supports flow control, priorities, fair queueing out of the box. * eager dispatch: task queue based but executed locally if possible as a performance optimization. Temporal also supports stand alone activities that are invoked without a workflow and dispatched through a task queue. Restate only supports local activities (using Temporal terminology). I wouldn't call it a "more flexible programming model". Restate made several decisions I consider questionable for the system's availability and stability, like pushing work to handlers instead of dispatching it through a queue. Any design decision has tradeoffs. It would be nice if you mentioned these trade-offs in your posts instead of making claims that sound like pure marketing. | ||