63 votes

Modèles de conception/meilleures pratiques pour la construction de systèmes basés sur des acteurs

J'ai du mal à trouver des liens décents vers des modèles de conception, des bonnes pratiques ou des principes architecturaux de base qui devraient être utilisés pour créer des applications basées sur Actor. Les quelques liens que je connais sont les suivants :

Billets de blog, articles, WIKIs, guides

Papiers

Livres

Implémentations

  • Cadre Akka (implémentation alternative d'acteurs en Scala avec un portage de plusieurs comportements Erlang et beaucoup d'autres schémas reliés pour les acteurs)
  • Acteurs de Scalaz (compositions des acteurs, stratégies et promesses)

Présentations

Exemples tirés de highscalability.com

  • Service de mise en file d'attente simple (SQS) - ce service fournit un service de mise en file d'attente à l'échelle de l'internet pour le stockage des messages. Les acteurs distribués mettent du travail dans la file d'attente et en retirent du travail. Utilisation typique : une file d'attente de travail centralisée. Vous placez des travaux dans la file d'attente et différents acteurs peuvent retirer des travaux de la file d'attente et les traiter lorsqu'ils ont du temps CPU. Une partie de l'extensibilité. Vous avez un nombre illimité de producteurs et de consommateurs. Vous ne vous en souciez pas. Les files d'attente sont réparties sur plusieurs machines et plusieurs centres de données.

19voto

oxbow_lakes Points 70013

Ceci est lié à une question précédente sinon exactement la même chose !

Ce n'est pas une question si simple car le modèle d'acteur de la concurrence permet de construire de nombreux types d'applications différents, d'une application monovariétale avec état (avec quelques classes d'acteurs distinctes) à un cluster sans état de milliers d'instances d'une classe d'acteur.

Les principes fondamentaux sont toutefois les mêmes :

  • Ne jamais exposer l'état d'un acteur
  • Communiquer uniquement par le biais de messages immuables.

6voto

jamie Points 716

J'ai publié un blog sur leçons tirées du développement des acteurs en Scala il y a quelques semaines. Il s'agit d'un billet sur les meilleures pratiques et les choses à éviter, basé sur quelques années d'expérience avec ce paradigme.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X