53 votes

Différentes mises en œuvre de Scala Actor

J'essaie de trouver le " bon " acteur de la mise en œuvre. J'ai réalisé il y a un tas d'entre eux et c'est un peu déroutant pour en choisir un. Personnellement, je suis surtout intéressé par distance acteurs, mais je suppose que d'un aperçu complet serait utile à beaucoup d'autres. C'est plutôt une question d'ordre général, alors n'hésitez pas à répondre juste pour la mise en œuvre que vous connaissez.

Je sais que sur les éléments suivants Scala Acteur implémentations (SAI). S'il vous plaît ajouter les disparus.

  • Scala 2.7 (différence)
  • Scala 2.8
  • Akka (http://www.akkasource.org/)
  • Ascenseur (http://liftweb.net/)
  • Scalaz (http://code.google.com/p/scalaz/)


  • Quelles sont les cibles des cas d'utilisation pour ces Isc (léger ou lourd" framework d'entreprise)?

  • prennent-ils en charge à distance des acteurs? Quelles lacunes distance acteurs de l'Isc?
  • Comment leur performance?
  • Comment est-il de la communauté?
  • Comment facile sont-ils commencer? Quelle est la qualité de la documentation?
  • Comment facile sont-ils à s'étendre?
  • Comment stables sont-ils? Les projets qui sont à l'aide?
  • Quels sont ses défauts?
  • Quels sont leurs principes de conception?
    • Sont-ils de filetage ou de l'événement basé (percevoir/ réagir) ou les deux?
    • Imbriquée reçoit
    • hotswapping le message de l'Acteur boucle

18voto

mkhq Points 207

9voto

RAbraham Points 1117

Depuis Scala 2.10 , les acteurs Scala sont désormais obsolètes et Akka Actors fait désormais partie de la distribution standard.

8voto

Stefan K. Points 1264

Scala 2.7.7. vs 2.8 après La Scala 2.8.0 RC3 de distribution:

Les nouveaux Réacteurs fournir plus léger, purement basés sur des événements, des acteurs avec, en option, de l'implicite à l'identification de l'expéditeur. Soutien pour les acteurs avec daemon style sémantique a été ajouté. Les acteurs peuvent être configurés pour l'utilisation efficace JSR166y fork/join piscine, résultant en des améliorations de performances significatives sur 1.6 Jvm. Les planificateurs sont désormais enfichable et plus facile à personnaliser.

Il y a aussi un document de conception de Haller: Scala Acteurs: de Fil conducteur à base d'Événement et en fonction de la Programmation

6voto

Stefan K. Points 1264

Autant que je sache, seulement Scala, Akka soutien à distance des acteurs.

Akka est soutenu par scalablesolutions, qui offre commerciale de soutien et des plug-ins pour akka. Akka semble comme un poids lourd de la solution, qui vise l'intégration avec les cadres existants (chameau, AMQP, JTA, Comète, Printemps, Redis) et, de plus STMs et de la persistance.

Akka par rapport à la Scala ne prend pas en charge imbriquée reçoit, mais prend en charge hotswapping les acteurs de la boucle de message et a la fois, fil de base et d'événements basés sur les acteurs et les soi-disant "basé sur des Événements single-threaded".

3voto

Stefan K. Points 1264

Je me suis rendu compte que Akka impose des correspondances exhaustives. Ainsi, même si recevoir techniquement attend une fonction partielle, la fonction ne doit pas être partielle. Cela signifie que vous devez gérer chaque message immédiatement.

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