ООП Поведение Состояние Синхронные* вызовы Акторы Поведение Состояние Асинхронные сообщения Не нужно думать о: - разделяемом состоянии - видимости состояния - потоках, блокировках, конкурентных коллекциях, и т. п.
1 Actor 2 Actor 2 Actor2 Actor2 Actor 3 Actor 3 Actor 4 Actor 4 Actor4 Actor4 Actor1 Actor1 Actor3 Actor3 Actor4 Actor4 Actor2 Actor2 Actor1 Actor1 Actor3 Actor3 Actor2 Actor2 Time • Акторы работают в фиксированном пуле потоков, равномерно распределяя нагрузку между ядрами, нет лишних переключений контекста. • Есть возможность управлять тем, где и как будет выполняться актор.
• колбек/подписчик • синглетон или сервис (например, слой работы с бд) • маршрутизатор, балансировщик, пул • сервис вне текущего процесса • конечный автомат