Akka.NET和Original Akka可以使用Remoting进行通信吗?
换句话说,Akka可以用来连接系统中的JVM和CLR吗?
答案 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和 阿卡完全陷入困境。我认为你通常只需要 在另一方面提供一些有限的功能。它可能很有用 在两个系统中保持相同的设计模式(演员模型), 但完全兼容我不太确定。
所以不太可能很快就会工作。