Building Massively ScalableApplications with Akka                      Vikas Hazrati                    Inphina Technologi...
what? Platform for next generation, event driven,scalable and fault tolerant architectures on the                     JVM....
akkaA actor-based concurrency frameworkProvides solutions for non blocking concurrencyWritten in Scala, also works in Java...
issuesconcurrency  scalabilityfault tolerance                      4
why akkasimpler concurrency    event drivenscale up or scale out   fault tolerance      remoting scala and java api       ...
aha actors!message-Passing Concurrency                                  share NOTHINGisolated lightweight processes       ...
actorsdefined in the 1973 paper by Carl Hewittpopularized by Erlangalleviates the devfrom explicit lockingand thread manag...
actor modelsThread-basedEvent-based       • Very lightweight       • can easily create millions on a single       workstat...
9
defining an actor               10
firing messagesbang bang bang                              11
send anything           12
fault tolerancelet it crashlinked set of actors                                    13
all for one         14
one for one         15
supervisor hierarchies                    16
fault management              17
other concepts                 Akka STMRemote Actors                 Akka Serialization   Persistence                     ...
problem statement               19
considerations            20
hmm...   STM – XSerialization – XPersistence – XRemoting – ?/X                        21
22
23
24
issuesmaxing out on the os threads                               25
dispatchersthread based – dedicated os thread  boundevent based – backed by pool of threadspriority event basedwork steali...
27
ala carte        28
used in ...         29
more informationhttp://akka.io/docs/akka/1.3-RC1/introhttp://thoughts.inphina.com/tag/akka/                               ...
Everyone ! “Thanks”vhazrati@inphina.com@vhazrati                               31
Upcoming SlideShare
Loading in...5
×

Building Massively Scalable Applications With Akka

3,045

Published on

Session presented at the 6th IndicThreads.com Conference on Java held in Pune, India on 2-3 Dec. 2011.

http://Java.IndicThreads.com

---

Historically writing correct concurrent, scalable and fault-tolerant applications has been very hard. Akka is an attempt to simplify writing concurrent, scalable and highly available software for the JVM. Akka has an API both for Scala and Java. Akka uses the Actor Model together with Software Transactional Memory (STM) to raise the abstraction level. For fault-tolerance it adopts the “Let it crash” model which help in building self healing always on systems.

The presentation walks through the Akka features for building a web scale system. We would look at a real world case study in which Inphina developed a web scale framework using Akka which is capable of processing 150 million streaming messages a day. We would discuss the architecture and key design decisions.

http://www.indicthreads.com/9241/scalable-applications-with-akka/

Published in: Technology, Education
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,045
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
49
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Building Massively Scalable Applications With Akka

  1. 1. Building Massively ScalableApplications with Akka Vikas Hazrati Inphina Technologies 1
  2. 2. what? Platform for next generation, event driven,scalable and fault tolerant architectures on the JVM. 2
  3. 3. akkaA actor-based concurrency frameworkProvides solutions for non blocking concurrencyWritten in Scala, also works in Java Open source Now at 1.3-RC2 (to be released this weekend)Lead developer and founder: Jonas BonerJRockit, AspectWerkz, AspectJ, Terracotta 3
  4. 4. issuesconcurrency scalabilityfault tolerance 4
  5. 5. why akkasimpler concurrency event drivenscale up or scale out fault tolerance remoting scala and java api 5
  6. 6. aha actors!message-Passing Concurrency share NOTHINGisolated lightweight processes communicates through messagesasynchronous and non-blocking 6
  7. 7. actorsdefined in the 1973 paper by Carl Hewittpopularized by Erlangalleviates the devfrom explicit lockingand thread managementeasy to write concurrent and parallel systemsactors like objects BUT dont share state 7
  8. 8. actor modelsThread-basedEvent-based • Very lightweight • can easily create millions on a single workstation (6.5 million on 4 G RAM) 8
  9. 9. 9
  10. 10. defining an actor 10
  11. 11. firing messagesbang bang bang 11
  12. 12. send anything 12
  13. 13. fault tolerancelet it crashlinked set of actors 13
  14. 14. all for one 14
  15. 15. one for one 15
  16. 16. supervisor hierarchies 16
  17. 17. fault management 17
  18. 18. other concepts Akka STMRemote Actors Akka Serialization Persistence 18
  19. 19. problem statement 19
  20. 20. considerations 20
  21. 21. hmm... STM – XSerialization – XPersistence – XRemoting – ?/X 21
  22. 22. 22
  23. 23. 23
  24. 24. 24
  25. 25. issuesmaxing out on the os threads 25
  26. 26. dispatchersthread based – dedicated os thread boundevent based – backed by pool of threadspriority event basedwork stealing 26
  27. 27. 27
  28. 28. ala carte 28
  29. 29. used in ... 29
  30. 30. more informationhttp://akka.io/docs/akka/1.3-RC1/introhttp://thoughts.inphina.com/tag/akka/ 30
  31. 31. Everyone ! “Thanks”vhazrati@inphina.com@vhazrati 31
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×