二进制兼容如何分发akka
How binary compatible is distributed akka
虽然 akka 有关于直接替换 jar 的二进制兼容性的文档,但我找不到任何关于协议二进制兼容性的信息。
在基本层面上,actor API 是一个消息邮箱。因此,只要消息保持二进制兼容,就有可能将消息发送到其他系统 运行 不同(jar 不兼容)版本的 akka。
所以给出:
- 2 个具有固定消息集的应用程序
- 无类型演员(仅使用
actor ! message
和 actor ? message
)
- "Application 1" 使用 akka 2.3.9
akka"Application 2"最早的版本是多少?
我想确认的其他项目:
- Akka clustering protocol is irrelevant here - each application can have their own cluster and communicate between the clusters using TCP remoting
- Scala 二进制兼容性也无关紧要 - 系统通过 TCP 协议与一组预编译的消息进行通信(很可能在 Java 中为 assurance/paranoia 指定)
首先,the 2.0 series has the same remoting configuration, but is there any reason that 1.3 无法正常工作?
到目前为止,我们还没有采取措施来确保 Akka 版本之间的协议兼容性——这也意味着次要版本更新。但是,我们没有引入无偿更改,并且在具有纯 Remoting 的 Akka 协议级别上,自 2.2.0 以来它跨版本工作的机会应该很好。在此之前,远程协议握手的更改可能会破坏兼容性,而 Akka 1.x 完全是另一回事。
我们知道这个答案并不令人满意,我们将通过完全指定远程协议和实施跨版本测试来解决这个问题,但我们还没有资源来解决这个大任务。
虽然 akka 有关于直接替换 jar 的二进制兼容性的文档,但我找不到任何关于协议二进制兼容性的信息。
在基本层面上,actor API 是一个消息邮箱。因此,只要消息保持二进制兼容,就有可能将消息发送到其他系统 运行 不同(jar 不兼容)版本的 akka。
所以给出:
- 2 个具有固定消息集的应用程序
- 无类型演员(仅使用
actor ! message
和actor ? message
) - "Application 1" 使用 akka 2.3.9
akka"Application 2"最早的版本是多少?
我想确认的其他项目:
- Akka clustering protocol is irrelevant here - each application can have their own cluster and communicate between the clusters using TCP remoting
- Scala 二进制兼容性也无关紧要 - 系统通过 TCP 协议与一组预编译的消息进行通信(很可能在 Java 中为 assurance/paranoia 指定)
首先,the 2.0 series has the same remoting configuration, but is there any reason that 1.3 无法正常工作?
到目前为止,我们还没有采取措施来确保 Akka 版本之间的协议兼容性——这也意味着次要版本更新。但是,我们没有引入无偿更改,并且在具有纯 Remoting 的 Akka 协议级别上,自 2.2.0 以来它跨版本工作的机会应该很好。在此之前,远程协议握手的更改可能会破坏兼容性,而 Akka 1.x 完全是另一回事。
我们知道这个答案并不令人满意,我们将通过完全指定远程协议和实施跨版本测试来解决这个问题,但我们还没有资源来解决这个大任务。