Если смотреть глобальный рынок то акторы имеют свою нишу, не сказал бы что это забытая технология. Если взять локально рынок РФ - лично мне попадался только один проект на акторах - система мониторинга производства (они использовали Orleans).
Почему Orleans отличный выбор для первого опыта, а не для прода в интерпрайзах и единорогах с миллионной аудиторией всяких разных самостоятельно живущих и меняющих свой стэйт сущностей?
Статья все же про первые шаги в мире акторов. Я писал что Orleans очень хорош как первый проводник в акторное программирование по сравнению с Akka.Net. А Выбор реализации акторов для своего продукта тянет на отдельную большую статью
Изначально использовали Akka.Persistence плагин с хранением журнала в БД, но с развитием наших продуктов это решение стало труднее поддерживать и мы перешли на хранения состояния акторов в "своих" таблицах
Akka.Net, которая порт под .net, тоже первый в стабильный релиз вышла в 2015. Если брать более ранний период то можно вспомнить:
Axum - язык программирования от Microsoft, который реализовывал акторную модель. Этакая попытка Microsoft сделать свой Erlang под экосистему .net clr. Проект не взлетел, последний релиз, судя по вики, был в 2011 году.
Stack - малоизвестная реализация акторов под .net, так же давно заброшеная. Я был сказал что это был больше proof of concept, но тем не менее на тот момент ее можно было брать как базу для погружение в мир акторных реализаций
Тогда мне очень советовали Akka, но немного потыкавшись я решил, что это оверкилл, который еще и требует изменения мышления под сообщения и акторную модель.
Абсолютно согласен про оверкилл) Я в статье упомнул что Akka имеет высокий порог входа по сравнению с Orleans. Orleans это отличный выбор для первого опыта
Каналы не совсем способ общения — это механизм синхронизации данных. Акторная модель как раз уходит от механизма синхронизации в пользу изолированного состояния. Так же акторная модель гарантирует порядок обработки входящих сообщений(команд) и предусматривает механизм супервизоров, что "из коробки" дает отказоустойчивость. Для условно простых задач параллельной обработки акторы будут излишне, но если нужна сложная система с хранением состояния, контролем конкурентности, кластеризацией и отказоустойчивостью то можно задуматься об акторах, которые из коробки предоставляют базовые механизмы под эти задачи.
Если смотреть глобальный рынок то акторы имеют свою нишу, не сказал бы что это забытая технология. Если взять локально рынок РФ - лично мне попадался только один проект на акторах - система мониторинга производства (они использовали Orleans).
Статья все же про первые шаги в мире акторов. Я писал что Orleans очень хорош как первый проводник в акторное программирование по сравнению с Akka.Net. А Выбор реализации акторов для своего продукта тянет на отдельную большую статью
Изначально использовали Akka.Persistence плагин с хранением журнала в БД, но с развитием наших продуктов это решение стало труднее поддерживать и мы перешли на хранения состояния акторов в "своих" таблицах
Akka.Net, которая порт под .net, тоже первый в стабильный релиз вышла в 2015. Если брать более ранний период то можно вспомнить:
Axum - язык программирования от Microsoft, который реализовывал акторную модель. Этакая попытка Microsoft сделать свой Erlang под экосистему .net clr. Проект не взлетел, последний релиз, судя по вики, был в 2011 году.
Stack - малоизвестная реализация акторов под .net, так же давно заброшеная. Я был сказал что это был больше proof of concept, но тем не менее на тот момент ее можно было брать как базу для погружение в мир акторных реализаций
Абсолютно согласен про оверкилл) Я в статье упомнул что Akka имеет высокий порог входа по сравнению с Orleans. Orleans это отличный выбор для первого опыта
Каналы не совсем способ общения — это механизм синхронизации данных. Акторная модель как раз уходит от механизма синхронизации в пользу изолированного состояния. Так же акторная модель гарантирует порядок обработки входящих сообщений(команд) и предусматривает механизм супервизоров, что "из коробки" дает отказоустойчивость. Для условно простых задач параллельной обработки акторы будут излишне, но если нужна сложная система с хранением состояния, контролем конкурентности, кластеризацией и отказоустойчивостью то можно задуматься об акторах, которые из коробки предоставляют базовые механизмы под эти задачи.