【问题标题】:Akka remoting between different version不同版本之间的 Akka 远程处理
【发布时间】:2013-10-22 16:18:03
【问题描述】:

我试图在不同的 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 版本,则它们可以正常工作。

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

【问题讨论】:

  • 光是想想就让人不寒而栗。在编译期间与多个版本作战并不像现在您将它带到运行时那样令人头疼?

标签: scala akka


【解决方案1】:

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

【讨论】:

  • 嗨罗兰。 “1.0”远程协议是否已经在 2.3 中出现,还是在 2.4 中出现?
  • 它还没有发生,而且在 2.4 中也可能不会发生。不过,它会在明年发生。
  • 嗨,Roland,正在检查是否有任何关于此的状态更新。协议是否达到了“1.0”,或者如果没有关于何时会达到的任何想法?
  • 我们目前正在开发一种新的远程处理,它将支持协议协商。可以在here 找到设计的书面说明。开发可以跟踪here
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
相关资源
最近更新 更多