The Dapr framework is based on Actors that are used to build stateful, concurrent, and fault-tolerant distributed objects, while Workers execute discrete tasks assigned by the workflow engine. Previously, Dapr would send the full execution history of a workflow to a worker for each execution. Version 1.19 of Dapr now makes it possible for a worker to retain the history of a workflow, which means only updates to the history of a workflow now need to be shared.
Additionally, there is now an opt-in preview feature, dubbed WorkflowsFastPath, that handles workflow wake-ups and local activities without routing every event through a durable scheduler reminder. At the same time, a stateful worker now only transmits the history of new events back to the workflow engine. Historically, Dapr made use of two control-plane services. A Placement service distributes the actor placement table, while the Scheduler service handles jobs, reminders and workflow scheduling.





