Шаблоны проектирования / лучшие практики для построения системы на основе актера

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

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

документы

книги

Реализации

  • Akka Framework (альтернативная реализация акторов в Scala с портом нескольких вариантов поведения Эрланга и множеством других шаблонов для актеров)
  • Scalaz Actors (актерские композиции, стратегии и обещания)

Презентации

Примеры от highscalability.com

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

3 ответа

Решение

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

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

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

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

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

Книга "Реактивные шаблоны проектирования" находится в разработке в Мэннинге.

Смотрите: https://www.manning.com/books/reactive-design-patterns

Другие вопросы по тегам