http://en.wikipedia.org/wiki/Actor_model
https://doc.akka.io/docs/akka/current/index-classic.html https://doc.akka.io/docs/akka/current/typed/index.html
https://info.lightbend.com/rs/558-NCX-702/images/COLL-white-paper-akka-A-to-Z.pdf https://www.slideshare.net/Lightbend/akka-revealed-a-jvm-architects-journey-from-resilient-actors-to-scalable-clusters
https://github.com/alexandru/scala-best-practices/blob/master/sections/5-actors.md
https://github.com/evolution-gaming/safe-akka https://github.com/evolution-gaming/akka-effect
https://courses.edx.org/courses/course-v1:EPFLx+scala-reactiveX+2T2019/course/ https://rockthejvm.com/
- Akka Actors
- Akka Typed
- Akka Cluster
- Akka Streams
- Akka HTTP
- Akka Persistence
- .. and more https://doc.akka.io/docs/akka/
The Actor formalism was first published in 1973. Actor languages and communications patterns formulated in 1986. First commercial use in Erlang (concurrency model based on Actors) for Ericsson telecommunications platform in 1995. Scala standard library rolled out its actors implementation in 2006 (deprecated since 2.11). Akka was created in 2009.
The main goal is to simplify multi-threading programming:
- effective resource utilization
- avoid blocking, deadlocks, synchronization of shared state
Key Concepts:
- Actors
- Messages
- Message passing
Principles:
- Encapsulation
- Asynchrony
- Location transparency
- Failure handling