Akka消息传递如何工作

时间:2014-09-17 08:56:41

标签: akka

我根本没有任何Akka经验。我想知道Akka消息传递如何在JVM中以及JVM之间工作。

  • JVM中的消息是否有类似POJO的对象?
  • JVM间通信需要哪种类似JMS的服务器?
  • Akka如何抽象出这两种消息之间的差异?
  • 是否需要序列化?
  • 我可以使用其他一些协议(例如JMS,SOAP,...)进行JVM间通信吗?例如,Spring Integration或Apache Camel可以处理任何类型的通信协议。

1 个答案:

答案 0 :(得分:12)

大多数问题在文档中的远程处理部分得到了解答:

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

  • JVM中的消息是您想要的消息,只要它们是不可变的。
  • 除了可以通过网络相互联系的两个ActorSystems设置用于远程处理之外,不需要任何其他内容。 Akka不使用JMS。
  • Akka提供位置透明性,本地和远程通信之间的差异对用户(即最终开发人员)是隐藏的。请参阅有关位置透明度的此部分:http://doc.akka.io/docs/akka/2.3.6/general/remoting.html
  • 是。请参阅本答复中第一个链接的序列化部分。
  • Akka可以使用ZeroMQ进行演员之间的远程通信。 Camel集成是可用的,但不适用于参与者之间的通信,它可以用于集成使用actor作为生产者或消费者的其他协议。