3

I have red Good use case for Akka

For short: Akka provides or is nothing more than a "messaging system". Am I right?

1. How does AKKA compare to other messaging systems, such as AMQP, RabbitMQ or HornetQ ?

2. Why should I use AKKA instead of a (real) messaging system such as HornetQ ?

Community
  • 1
  • 1
nimo23
  • 5,170
  • 10
  • 46
  • 75
  • 1
    I have red http://stackoverflow.com/questions/4648280/scala-actors-vs-jms/4648843, which clarifies the concepts of both. – nimo23 May 30 '12 at 09:31

1 Answers1

3
  1. Akka is a toolkit for concurrency, fault-tolerance and distribution. A Message Broker brokes messages.

  2. Define "real". Assuming you're talking about Akka Actors, an Akka Actor can process about 3 million messages per second on a normal box, and you can have about 2.7 million Actors per gigabyte of heap.

In general I think you might want to read up a bit on the Actor Model of computation: http://en.wikipedia.org/wiki/Actor_model

Viktor Klang
  • 26,479
  • 7
  • 51
  • 68
  • Thanks! As stated in http://www.jboss.org/hornetq, hornetq can process "8.2 Millions Messages per second with SpecJMS". – nimo23 Jun 01 '12 at 09:06
  • Okay, I will digg into the documentation of AKKA to look if I can use it instead of HornetQ. – nimo23 Jun 01 '12 at 09:10
  • 1
    Yes, but those stats are for the entire HornetQ server, my stats were per Actor. We do >50 million messages per second in total on our test rig: http://letitcrash.com/post/20397701710/50-million-messages-per-second-on-a-single-machine – Viktor Klang Jun 01 '12 at 11:57
  • Wow. That is really great. I really cannot say why to use HornetQ instead of AKKA. I will give it a try. – nimo23 Jun 01 '12 at 12:42
  • As I alluded to earlier, you're really comparing apples to pears. I cannot tell you what you should use, you should choose what suits your use-case. – Viktor Klang Jun 01 '12 at 13:17
  • I am actually using HornetQ and I have to read the docs of AKKA to know the real difference between those (I am actually doing this;). I know, against AKKA HornetQ is a MessageBroker, which also provides concurrency, fault-tolerance and distribution. There are other message brokers which uses the engine of Akka (AKKA-AMQP). (I am wondering if HornetQ were much faster, when using AKKA as its engine) But as I said before, I will read the docs of AKKA to better my picture. Thanks. – nimo23 Jun 04 '12 at 06:48