Actor concurrency, consistency, and lifetime
The Dapr actor model relies on two main components: the Dapr runtime, operating in the sidecar, and the Dapr placement service. We’ll understand each of these in the following sections.
Placement service
The placement service is responsible for keeping a map of the Dapr instances that are capable of serving actors. Considering our example, the reservationactor-service
application is an example of such a service.
Once a new instance of our new reservationactor-service
Dapr application starts, it informs the placement service that it is ready to serve actors of the ReservationItemActor
type.
The placement service broadcasts a map – in the form of a hash table with the host’s information and the served actor types – to all the Dapr sidecars operating in the environment.
Thanks to the host’s map being constantly updated, actors are uniformly distributed over the actor service instances.
In...