Можно ли использовать Akka FSM для использования состояния уровня запроса - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь реализовать поведение машины состояний системы заказов, используя Akka.Net.Я обнаружил, что это можно сделать с помощью класса FSM в Akka.Fsm.Мое состояние объекта зависит от запроса, т.е. один заказ может находиться в созданном состоянии, тогда как другой заказ может находиться в состоянии PaymentProcessing.Поддерживает ли Akka.Net такого рода поведение, когда состояние управляется для каждого экземпляра.Также возможно ли использовать его в распределенной системе?

1 Ответ

0 голосов
/ 29 мая 2018

Обычный способ моделирования DDD с актерами состоит в том, чтобы иметь экземпляр актера на каждый экземпляр агрегата.Поэтому наличие двух действующих лиц в двух разных состояниях обработки - абсолютно естественное поведение.Если вы хотите иметь DSL конечного автомата с поддержкой персистентности между различными воплощениями акторов в длительных процессах, вы можете извлечь PersistentFSM .

. Распределение акторов полностью поддерживается с помощьюAkka.Cluster и другие модули построены на его основе, например Akka.Cluster.Sharding .Фактический случай зависит от степени контроля и скорости, которую вы хотите иметь.

...