Модели дизайна/передовая практика для создания системы на основе актеров

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

Сообщения в блогах, статьи, WIKI, руководства

Статьи

Книги

Реализация

  • Akka Framework (альтернативная реализация актеров в Scala с портом нескольких стилей Erlang и множество других модифицированных шаблонов для участников)
  • Актеры Scalaz (композиции актеров, стратегии и promises)

Презентации

Примеры из highscalability.com

  • Простая служба очередей (SQS) - эта услуга предоставляет услугу массового обслуживания в Интернете для хранения сообщений. Распределенные участники кладут работу в очередь и снимают работу с очереди. Типичное использование: централизованная рабочая очередь. Вы помещаете задания в очередь, и разные актеры могут поп работать в очереди и обрабатывать их, когда они получают процессорное время. Часть масштабируемости. У вас есть несколько производителей и потребителей. Вы не беспокоитесь об этом. Очереди распределены между несколькими компьютерами и несколькими центрами данных.

Ответы

Ответ 1

Это связано с предыдущим вопросом, если не совсем то же самое!

Это не такой простой вопрос, потому что модель актера из concurrency позволяет создавать множество различных типов приложений из однопользовательского приложения с одной VM (с несколькими отдельными классами актеров) для кластера без сохранения в тысячах экземпляров класса актера.

Основные принципы одинаковы:

  • Никогда не выставляйте состояние актера
  • Общайтесь исключительно посредством передачи неизменяемых сообщений

Ответ 2

Я разместил блог на узнавания о развитии актера в Scala несколько недель назад. Это пост лучших практик и вещей, которые следует избегать, основываясь на нескольких лет опыта работы с парадигмой.