Why Orleans' actor is virutal
(Jin Qing's Column, Nov. 2, 2021)
Virtual Actor is a concept invented by Microsoft Orleans, which is a framework of distributed actor.
Orleans: Distributed Virtual Actors for Programmability and Scalability describes the virtual programming model.
The virtual actor is analogous to virtual memory. Virtual actors are mapped to physical arctors instances in the running servers. Virtualization of actors in Orleans has 4 facets:
-
Perpetual existence
- Actors always exist, virtually
- Actors can not be created or destroied explicitly
- Server failure does not affect the actors' existence
-
Automatic instantiation
- Activation: Orleans automatically create an actor
- A request triggers an activation if the actor doesn't exist
- Unused actors are automatically reclaimed
-
Location transparency
- Applications don't know where the physical actor is
- Similar to virtual memory's "paged out" and mapping
-
Automatic scale out
Actor viruliaztion greatly simplifes the programming, since it gets rid of the burden of actor lifecycle control.