1

虽然 akka 有关于替换 jar 的二进制兼容性的文档,但我找不到任何关于协议二进制兼容性的信息。

在基本层面上,actor API 是一个消息邮箱。因此,只要消息保持二进制兼容,就有可能将消息发送到运行不同(jar 不兼容)akka 版本的其他系统。

所以给出:

  • 2 个具有固定消息集的应用程序
  • 无类型演员(仅使用actor ! messageand actor ? message
  • 使用 akka 2.3.9 的“应用程序 1”

akka“Application 2”可以使用的最早版本是什么?

我想确认的其他项目:

  • Akka 集群协议在这里无关紧要 - 每个应用程序都可以拥有自己的集群并使用TCP 远程处理在集群之间进行通信
  • Scala 二进制兼容性也无关紧要 - 系统通过 TCP 协议与一组预编译的消息进行通信(很可能在 Java 中指定用于保证/偏执狂)

一开始,2.0系列有相同的远程配置,但是1.3有什么原因不能工作吗?

4

1 回答 1

1

到目前为止,我们还没有采取措施确保 Akka 版本之间的协议兼容性——这也意味着小版本更新。然而,我们还没有引入无偿的更改,并且在 Akka 协议级别上,具有纯远程处理的机会应该很好,它可以跨 2.2.0 以来的版本工作。在此之前,远程协议握手的更改可能会破坏兼容性,而 Akka 1.x 则完全不同。

我们知道这个答案并不令人满意,我们将通过完全指定远程协议和实施跨版本测试来解决这个问题,但我们还没有资源来解决这个大任务。

于 2015-04-08T07:04:41.713 回答