How Akka Messaging Works

I have no Akka experience. I would like to know how Akka messaging works in the JVM as well as between the JVMs.

  • Are messages in the JVM some POJO-like objects?
  • Is there any JMS server needed to exchange data between the JVMs?
  • How does Akka highlight the differences between the two message types?
  • Do I need serialization?
  • Is it possible to use some other protocols (e.g. JMS, SOAP, ...) to exchange data between JVMs? For example, Spring Integration or Apache Camel can handle any type of communication protocol.
+7
akka
source share
1 answer

Most of these questions are answered by the removal section in the documentation:

http://doc.akka.io/docs/akka/2.3.6/scala/remoting.html

  • Messages in the JVM are what you want them to be, as long as they are unchanged.
  • Nothing is required outside of two ActorSystems configured for remote access, which can communicate with each other over the network. Akka does not use JMS.
  • Akka provides location transparency, the difference between local and remote communications is hidden from the user (that is, the end developer). See this section on location transparency: http://doc.akka.io/docs/akka/2.3.6/general/remoting.html
  • Yes. See the serialization section of the first link in this answer.
  • Akka can use ZeroMQ for remote communication between participants. Camel integration is available, but not for interaction between actors, it can be used to integrate other protocols using actors as producers or consumers.
+10
source share

All Articles