6

我试图在不同的 akka 版本之间使用远程处理。我有一个在 scala 2.10.2 上运行 akka 2.2.1 的应用程序和一个在 scala 2.9.2 上运行 akka 2.0.5 的应用程序。第二个应用程序使用的库不适用于 scala 2.10.2,因此我不能简单地更新应用程序,也不能降级另一个应用程序。我收到一条消息错误,指出消息未送达。

为了测试它,我创建了一个虚拟的 2.2.1 akka 应用程序,将一个字符串发送到一个 2.0.5 的 akka 演员,该演员将其打印到控制台。为避免丢失发件人,2.2.1 应用程序向参与者发送消息,该参与者将消息路由到其他版本中的参与者。

两个版本之间是否存在任何已知的兼容性问题?

我已经处理了 conf 文件,更改了 netty 和其他东西,所以这应该只是版本问题。如果虚拟应用程序具有相同的 akka 版本,则它们可以正常工作。

如果您需要,我可以提供错误日志。

4

1 回答 1

8

Akka 的远程通信协议(还)在版本之间不兼容,这意味着您观察到的是有意的。我们需要至少再等待一个主要版本,然后才能开始稳定,然后冻结协议以允许未来的互操作性。我们建议现在使用 REST API 解耦组件,并且仅在可以进行锁步更新的情况下使用远程处理。

于 2013-10-23T05:21:15.820 回答