Miscellaneous Scala Actor's Review

I am trying to find the "right" acting implementation. I realized that there are a bunch of them, and it is a bit confusing to choose one. Personally, I am particularly interested in remote actors, but I think that a full review will be useful to many others. This is a pretty general question, so feel free to answer only for the implementation you know about.

I know about the following Scala implementations of Actor (SAI). Please add the missing.

  • Scala 2.7 (difference)
  • Scala 2.8
  • Akka ( http://www.akkasource.org/ )
  • Rise ( http://liftweb.net/ )
  • Scalaz ( http://code.google.com/p/scalaz/ )




  • What are the target cases for these SAIs (light and heavy corporate infrastructure)?

  • Do they support remote members? What are the disadvantages of the remote participants in the SAI?
  • How is their execution?
  • How active is the community?
  • How easy is it to start? How good is the documentation?
  • How easy is it to expand them?
  • How stable are they? What projects use them?
  • What are their disadvantages?
  • What are their design principles?
    • Are they stream based or event based (accept / respond) or both?
    • Nested Recipients
    • hotswapping Actors message loop
+53
scala actor akka scalaz lift
May 25 '10 at 15:38
source share
5 answers
+18
Dec 28 '10 at 16:02
source share

Compared to Scala 2.10 , scala actors are now outdated, and Akka Actors are now part of the standard distribution

+9
Jan 17 '13 at 20:00
source share

Scala 2.7.7. vs 2.8 after Distribution Scala 2.8.0 RC3 :

New reactors provide lighter, purely event-based actors with optional, implicit sender identification. Added support for participants with demon-style semantics. Actors can be tuned to use the efficient JSR166y fork / join pool, which leads to significant performance improvements of 1.6 JVM. Schedulers are now connected and easier to configure.

There is also a design document for Haller: Scala Actors: Combining Thread-based and Event-based Programming

+8
May 28 '10 at 12:09 a.m.
source share

As far as I know, only Scala and Akka support remote members.

Akka is backed by scalable solutions that offer commercial support and plug-ins for akka. Akka looks like a heavyweight solution that aims to integrate with existing structures (camel, AMQP, JTA, Comet, Spring, Redis), as well as STM and persistence.

Compared to Scala, Akka does not support nested queries, but it supports hot-tuning of the participants ’message loop and has both subjects and threads based on flows and so-called“ single-threaded ”based on events.

+6
May 25 '10 at 15:59
source share

I realized that akka provides comprehensive matches. Therefore, even if technically the technique expects a partial function, the function should not be partial. This means that you must process each message immediately.

+3
Jul 05 2018-10-10T00:
source share



All Articles