Akka.NET和Original Akka可以使用Remoting进行通信吗?

时间:2016-01-16 07:45:25

标签: akka akka.net

Akka.NET和Original Akka可以使用Remoting进行通信吗?

换句话说,Akka可以用来连接系统中的JVM和CLR吗?

1 个答案:

答案 0 :(得分:7)

akka.net Github https://github.com/akkadotnet/akka.net/issues/132上的这个问题描述了为什么这不起作用的几个原因:

  

1)我们为用户消息使用不同的序列化器,Akka使用   默认的Java序列化程序,Akka.NET使用Json.NET。这可以解决   通过使用例如谷歌protobuf,序列化器是可插入的。

     

2)Helios(akka.net transport)和Netty(akka transport)最多   可能在二进制级别上不兼容,两者都使用4字节长度   框架消息的前缀(AFAIK,@ Aaronontheweb?),但我的猜测是   他们不会在一起玩得很好。

也许更根本的是:

  

这里最大的问题是:Java是BigEndian,.NET是LittleEndian -   至少,它是大多数Windows系统上的LittleEndian。中的字数   .NET可能因平台而异,对于Mono也是如此。

似乎对解决问题的兴趣不大:

  

我想知道完全协议兼容性是多么有用。所以   即使你指出的问题放在一边,想象不得不经常   维护适用于特定Akka版本的版本。你永远不   知道什么时候会发生变化。好像它会是一个   噩梦要维持。

     

我只是没有看到一个令人信服的用例想要运行Akka.NET和   阿卡完全陷入困境。我认为你通常只需要   在另一方面提供一些有限的功能。它可能很有用   在两个系统中保持相同的设计模式(演员模型),   但完全兼容我不太确定。

所以不太可能很快就会工作。