Your SlideShare is downloading. ×
Building Massively Scalable Applications With Akka
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Building Massively Scalable Applications With Akka

2,916
views

Published on

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

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
2,916
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
48
Comments
0
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Building Massively ScalableApplications with Akka Vikas Hazrati Inphina Technologies 1
  • 2. what? Platform for next generation, event driven,scalable and fault tolerant architectures on the JVM. 2
  • 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. issuesconcurrency scalabilityfault tolerance 4
  • 5. why akkasimpler concurrency event drivenscale up or scale out fault tolerance remoting scala and java api 5
  • 6. aha actors!message-Passing Concurrency share NOTHINGisolated lightweight processes communicates through messagesasynchronous and non-blocking 6
  • 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. actor modelsThread-basedEvent-based • Very lightweight • can easily create millions on a single workstation (6.5 million on 4 G RAM) 8
  • 9. 9
  • 10. defining an actor 10
  • 11. firing messagesbang bang bang 11
  • 12. send anything 12
  • 13. fault tolerancelet it crashlinked set of actors 13
  • 14. all for one 14
  • 15. one for one 15
  • 16. supervisor hierarchies 16
  • 17. fault management 17
  • 18. other concepts Akka STMRemote Actors Akka Serialization Persistence 18
  • 19. problem statement 19
  • 20. considerations 20
  • 21. hmm... STM – XSerialization – XPersistence – XRemoting – ?/X 21
  • 22. 22
  • 23. 23
  • 24. 24
  • 25. issuesmaxing out on the os threads 25
  • 26. dispatchersthread based – dedicated os thread boundevent based – backed by pool of threadspriority event basedwork stealing 26
  • 27. 27
  • 28. ala carte 28
  • 29. used in ... 29
  • 30. more informationhttp://akka.io/docs/akka/1.3-RC1/introhttp://thoughts.inphina.com/tag/akka/ 30
  • 31. Everyone ! “Thanks”vhazrati@inphina.com@vhazrati 31

×