Akka - понять модель актеров - PullRequest
0 голосов
/ 10 декабря 2018

Я изучаю Акку несколько дней, и у меня есть простые вопросы, чтобы понять это хорошо.Как должна быть создана архитектура приложения для службы REST, которая использует акторы?Актерами должны быть:

  • Простой компонент (например, Сервисный уровень, DAO, контроллеры и т. Д.)?
  • Актер должен быть логическим элементом бизнеса.Например, у меня есть бизнес-логика, которая должна быть разбита на задачи, которые являются актерами?
  • Actor = microservice.Это слой высокого уровня.Каждый микросервис в приложении должен работать как отдельный актер?

Я не могу понять это таким образом - как правильно использовать актеров?Если я создаю REST-сервис со слоями (контроллеры, сервисы, DAO и база данных), как я должен отделить его как акторов в приложении Akka?

Ответы [ 2 ]

0 голосов
/ 10 декабря 2018

Я бы не рекомендовал создавать REST-сервис с использованием необработанных актеров Akka.Актеры лучше использовать для инкапсуляции состояния и поведения.Например, слабосвязанные легковесные акторы могут использоваться для моделирования отдельных устройств IoT (например, термостатов), каждое из которых поддерживает свое собственное внутреннее состояние (например, холодная настройка) и регулирует / сообщает свои настройки через неблокировка передачи сообщений.

Для API / службы REST вы можете рассмотреть возможность использования Play , построенного поверх Akka, с поддержкой неблокирующего ввода-вывода, JSON в качестве первого классаГражданин, Websockets и т. д. Вот базовый пример создания REST-сервиса с использованием Play .

На микросервисе, как указано в приведенной выше ссылке:

BuildingAPI REST в Play не делает его автоматически «микросервисом», поскольку он не охватывает более масштабные проблемы, связанные с микросервисами, такими как обеспечение отказоустойчивости, согласованности или мониторинга.

Включение микросервиса в API RESTрассмотрим каркас Lagom , который построен на основе Play / Akka вместе с реактивными качествами.

0 голосов
/ 10 декабря 2018

Был блог (вероятно это ), который довольно хорошо отражает мой взгляд на Akka Actors.Я на самом деле не использую их.

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

Я использую актеров для обработки состояния.Это все.В противном случае это фьючерсы или Akka Streams.Я надеюсь, что вам нравится блог.Если после этого у вас остались вопросы, пожалуйста, стреляйте.У меня есть 5+ лет Акки позади меня.Рад помочь.

...