Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why is Akka good for scaling "up" and "out"?

If you Google "what does Akka do", the typical sales pitches you get is that it helps your program scale "up" and/or scale "out". But just like the buzzword "cloud" does nothing to explain the virtualization technologies that comprise a cloud service, I see "scale up/out" as equally-vague buzzwords that probably don't do Akka any real justice.

So let's say I've got a batch processing system full of 100 different types of tasks. Task 1 - 100 are kicking off all day long, doing their thing, whatever it is that they do. How exactly might Akka help me batch system scale "up"? How might it help my system scale "out"?

like image 466
IAmYourFaja Avatar asked May 12 '14 16:05

IAmYourFaja


1 Answers

It scales "out" because it allows you to design and organize cluster of servers. Being message-passing-based, it is pretty much a one-to-one representation of the actual world (machines connected via the network and sending messages to each other). No magic here, it's just that the paradigm of the framework makes it easier to reason about your infrastructure.

It scales "up" because if you buy better hardware it will transparently take advantage of the newly added cores/cpus without you having to change anything.

(When it comes to the Typesafe stack, get used to the buzzword! :) )

Edit after first comment: You could organize your cluster the way you want :)

Dividing by type/responsibility seems like a good option yes. You could have VM1 with Task1Actor instances, VM2 with Task2Actor instances and if you notice that task 1 is the bottleneck start VM1-bis to add more instances for example.

Since Akka abstracts the whole process of sending/receiving message you can have several JVMs on the same machine, several VMs on the same physical machine, several actual machines, several actual machines with several VMs with several JVMs. You get the idea.

For the Typesafe stack: http://typesafe.com/platform

like image 167
vptheron Avatar answered Oct 29 '22 17:10

vptheron