Professional Documents
Culture Documents
Vikas Hazrati
Inphina Technologies
what?
Platform for next generation, event driven, scalable and fault tolerant architectures on the JVM.
akka
A actor-based concurrency framework Provides solutions for non blocking concurrency Written in Scala, also works in Java Open source Now at 1.3-RC2 (to be released this weekend) Lead developer and founder: Jonas Boner JRockit, AspectWerkz, AspectJ, Terracotta
issues
why akka
simpler concurrency event driven scale up or scale out fault tolerance remoting scala and java api
5
aha actors!
message-Passing Concurrency share NOTHING isolated lightweight processes communicates through messages asynchronous and non-blocking
6
actors
defined in the 1973 paper by Carl Hewitt popularized by Erlang
alleviates the dev from explicit locking and thread management easy to write concurrent and parallel systems actors like objects BUT dont share state
7
actor models
Thread-based Event-based
Very lightweight can easily create millions on a single workstation (6.5
million on 4 G RAM)
8
defining an actor
10
firing messages
bang bang bang
11
send anything
12
fault tolerance
let it crash linked set of actors
13
14
15
supervisor hierarchies
16
fault management
17
other concepts
Akka STM Remote Actors
18
problem statement
19
considerations
20
hmm...
STM X Serialization X Persistence X Remoting ?/X
21
22
23
24
issues
25
dispatchers
thread based dedicated os thread bound event based backed by pool of threads priority event based work stealing
26
27
ala carte'
28
used in ...
29
more information
http://akka.io/docs/akka/1.3-RC1/intro http://thoughts.inphina.com/tag/akka/
30
Everyone ! Thanks
vhazrati@inphina.com @vhazrati
31