31
1 Building Massively Scalable Applications with Akka Vikas Hazrati Inphina Technologies

Akka vikas hazrati

Embed Size (px)

DESCRIPTION

Harnessing the power of Akka to build massively scalable system.

Citation preview

Page 1: Akka vikas hazrati

1

Building Massively Scalable Applications with Akka

Vikas Hazrati

Inphina Technologies

Page 2: Akka vikas hazrati

2

what?

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

JVM.

Page 3: Akka vikas hazrati

3

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

Page 4: Akka vikas hazrati

4

issues

concurrency

scalability

fault tolerance

Page 5: Akka vikas hazrati

5

why akka

simpler concurrency

event driven

scale up or scale out

fault tolerance

remoting

scala and java api

Page 6: Akka vikas hazrati

6

aha actors!

message-Passing Concurrency

share NOTHING

isolated lightweight processes

communicates through messages

asynchronous and non-blocking

Page 7: Akka vikas hazrati

7

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

Page 8: Akka vikas hazrati

8

actor models

Thread-based

Event-based• Very lightweight

• can easily create millions on a single

workstation

(6.5 million on 4 G RAM)

Page 9: Akka vikas hazrati

9

Page 10: Akka vikas hazrati

10

defining an actor

Page 11: Akka vikas hazrati

11

firing messages

bang bang bang

Page 12: Akka vikas hazrati

12

send anything

Page 13: Akka vikas hazrati

13

fault tolerance

let it crash

linked set of actors

Page 14: Akka vikas hazrati

14

all for one

Page 15: Akka vikas hazrati

15

one for one

Page 16: Akka vikas hazrati

16

supervisor hierarchies

Page 17: Akka vikas hazrati

17

fault management

Page 18: Akka vikas hazrati

18

other concepts

Remote Actors

Akka STM

Akka Serialization

Persistence

Page 19: Akka vikas hazrati

19

problem statement

Page 20: Akka vikas hazrati

20

considerations

Page 21: Akka vikas hazrati

21

hmm...

STM – X

Serialization – X

Persistence – X

Remoting – ?/X

Page 22: Akka vikas hazrati

22

Page 23: Akka vikas hazrati

23

Page 24: Akka vikas hazrati

24

Page 25: Akka vikas hazrati

25

issues

maxing out on the os threads

Page 26: Akka vikas hazrati

26

dispatchers

thread based – dedicated os thread bound

event based – backed by pool of threads

priority event based

work stealing

Page 27: Akka vikas hazrati

27

Page 28: Akka vikas hazrati

28

ala carte'

Page 29: Akka vikas hazrati

29

used in ...

Page 30: Akka vikas hazrati

30

more information

http://akka.io/docs/akka/1.3-RC1/intro

http://thoughts.inphina.com/tag/akka/

Page 31: Akka vikas hazrati

31

Everyone ! “Thanks”

[email protected]@vhazrati