Модели дизайна/передовая практика для создания системы на основе актеров
Я изо всех сил пытаюсь найти приличные ссылки для разработки шаблонов, передовой практики или хороших базовых архитектурных принципов, которые следует использовать при создании приложений на основе актеров. Те немногие, о которых я знаю, следующие:
Сообщения в блогах, статьи, WIKI, руководства
Статьи
Книги
Реализация
- Akka Framework (альтернативная реализация актеров в Scala с портом нескольких стилей Erlang и множество других модифицированных шаблонов для участников)
- Актеры Scalaz (композиции актеров, стратегии и promises)
Презентации
Примеры из highscalability.com
- Простая служба очередей (SQS) - эта услуга предоставляет услугу массового обслуживания в Интернете для хранения сообщений. Распределенные участники кладут работу в очередь и снимают работу с очереди. Типичное использование: централизованная рабочая очередь. Вы помещаете задания в очередь, и разные актеры могут поп работать в очереди и обрабатывать их, когда они получают процессорное время. Часть масштабируемости. У вас есть несколько производителей и потребителей. Вы не беспокоитесь об этом. Очереди распределены между несколькими компьютерами и несколькими центрами данных.
Ответы
Ответ 1
Это связано с предыдущим вопросом, если не совсем то же самое!
Это не такой простой вопрос, потому что модель актера из concurrency позволяет создавать множество различных типов приложений из однопользовательского приложения с одной VM (с несколькими отдельными классами актеров) для кластера без сохранения в тысячах экземпляров класса актера.
Основные принципы одинаковы:
- Никогда не выставляйте состояние актера
- Общайтесь исключительно посредством передачи неизменяемых сообщений
Ответ 2
Я разместил блог на узнавания о развитии актера в Scala несколько недель назад. Это пост лучших практик и вещей, которые следует избегать, основываясь на нескольких лет опыта работы с парадигмой.
Ответ 3
В "Manning" находится книга "Реактивные образцы дизайна".
Смотрите: https://www.manning.com/books/reactive-design-patterns