Как стать автором
Поиск
Написать публикацию
Обновить

Комментарии 4

А зачем в go использовать модель акторов? Я к тому, что есть горутины и рекомендуемый способ коммуникации между ними - каналы. Не будет ли это овер-инженерингом или все таки есть плюсы?

Каналы не совсем способ общения — это механизм синхронизации данных. Акторная модель как раз уходит от механизма синхронизации в пользу изолированного состояния. Так же акторная модель гарантирует порядок обработки входящих сообщений(команд) и предусматривает механизм супервизоров, что "из коробки" дает отказоустойчивость. Для условно простых задач параллельной обработки акторы будут излишне, но если нужна сложная система с хранением состояния, контролем конкурентности, кластеризацией и отказоустойчивостью то можно задуматься об акторах, которые из коробки предоставляют базовые механизмы под эти задачи.

быстро стал одним из наиболее популярных решений для реализации акторной модели в мире .NET

А какие альтернативы были в то время? Потому что Orleans зарелизили только в 2015.

Я использовал Orleans для создания прототипа одной android игры типа "Vikings: War of Clans" и это был чрезвычайно комфортный опыт. Потому что я просто писал обычный код, а Orleans делал за меня всю "грязную работу". Тогда мне очень советовали Akka, но немного потыкавшись я решил, что это оверкилл, который еще и требует изменения мышления под сообщения и акторную модель.

Orleans зарелизили только в 2015

Akka.Net, которая порт под .net, тоже первый в стабильный релиз вышла в 2015. Если брать более ранний период то можно вспомнить:

  • Axum - язык программирования от Microsoft, который реализовывал акторную модель. Этакая попытка Microsoft сделать свой Erlang под экосистему .net clr. Проект не взлетел, последний релиз, судя по вики, был в 2011 году.

  • Stack - малоизвестная реализация акторов под .net, так же давно заброшеная. Я был сказал что это был больше proof of concept, но тем не менее на тот момент ее можно было брать как базу для погружение в мир акторных реализаций

Тогда мне очень советовали Akka, но немного потыкавшись я решил, что это оверкилл, который еще и требует изменения мышления под сообщения и акторную модель.

Абсолютно согласен про оверкилл) Я в статье упомнул что Akka имеет высокий порог входа по сравнению с Orleans. Orleans это отличный выбор для первого опыта

Зарегистрируйтесь на Хабре, чтобы оставить комментарий