Search
Write a publication
Pull to refresh
1
0
Алексей Деев @xinch

User

Send message

Изначально использовали Akka.Persistence плагин с хранением журнала в БД, но с развитием наших продуктов это решение стало труднее поддерживать и мы перешли на хранения состояния акторов в "своих" таблицах

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

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

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

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

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

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

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

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity