repositorios patrones diseño scala erlang actor

scala - repositorios - patrones de diseño ux



Patrones de diseño/mejores prácticas para construir un sistema basado en Actor (3)

El libro ''Patrones de diseño reactivo'' está en proceso de elaboración en Manning.

Ver: https://www.manning.com/books/reactive-design-patterns

Estoy luchando por encontrar enlaces decentes para los patrones de diseño, las mejores prácticas o los buenos principios básicos de arquitectura que deberían usarse para crear aplicaciones basadas en Actor. Esos pocos que conozco son:

Publicaciones de blog, artículos, WIKI, guías

Papeles

Libros

Implementaciones

  • Akka Framework (implementación alternativa de actores en Scala con un puerto de varios comportamientos de Erlang y muchos otros patrones relajados para los actores)
  • Actores Scalaz (composiciones de actores, estrategias y promesas)

Presentaciones

Ejemplos de highscalability.com

  • Servicio de cola simple (SQS) : este servicio proporciona un servicio de cola de escala de Internet para almacenar mensajes. Los actores distribuidos ponen el trabajo en la cola y quitan el trabajo de la cola. Uso típico: una cola de trabajo centralizada. Pones trabajos en la cola y diferentes actores pueden sacar el trabajo de la cola y procesarlos cuando obtienen tiempo de CPU. Parte de la escalabilidad. Tener cualquier número de productores y consumidores. No te preocupes por eso Las colas están distribuidas en varias máquinas y múltiples centros de datos.

Esto está relacionado con una pregunta anterior , ¡si no exactamente igual!

No es una pregunta tan simple porque el modelo de concurrencia del actor permite construir muchos tipos diferentes de aplicaciones, desde una aplicación de VM única con estado (con algunas clases de actores separadas) hasta un clúster sin estado de miles de instancias de una clase de actor. .

Los principios básicos son los mismos sin embargo:

  • Nunca expongas el estado de un actor
  • Comuníquese únicamente a través del envío de mensajes inmutables

Publiqué un blog sobre el aprendizaje del desarrollo de actores en Scala hace unas semanas. Es una publicación de buenas prácticas y cosas para evitar basadas en unos pocos años de experiencia con el paradigma.