Building Massively Scalable Applications with Akka – Vikas Hazrati

4 downloads 43 Views 1MB Size Report
3 akka. A actor-based concurrency framework. Provides solutions for non blocking concurrency. Written in Scala, also works in Java. Open source.
Building Massively Scalable Applications with Akka Vikas Hazrati Inphina Technologies

1

what?

Platform for next generation, event driven, scalable and fault tolerant architectures on the JVM.

2

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

3

issues

concurrency scalability fault tolerance

4

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

9

defining an actor

10

firing messages bang bang bang

11

send anything

12

fault tolerance let it crash linked set of actors

13

all for one

14

one for one

15

supervisor hierarchies

16

fault management

17

other concepts Akka STM Remote Actors

Akka Serialization Persistence

18

problem statement

19

considerations

20

hmm... STM – X Serialization – X Persistence – X Remoting – ?/X

21

22

23

24

issues

maxing out on the os threads

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”

[email protected] @vhazrati

31