我正在开发一个有四个阶段的游戏服务器:AccountServer、CharServer、InterServer 和 ZoneServer,它们是不同的进程,可能会留在不同的机器上。它们需要相互通信以同步数据、处理服务器更改和各种其他“时间关键”操作。
为此,我正在寻找一种 .Net 的 RPC 方法。它必须在 Linux、MacOS 和 Windows 上都可以工作)并且最好使用 TCP/Unix 套接字/命名管道上的二进制数据。我已经考虑了一些解决方案:
- .Net Remoting:它被称为遗留,我不太了解它的性能影响,不支持轻松的身份验证。
- WCF:使用 SOAP,速度很慢,因为我每秒应该接到几个电话
- CORBA:看起来很有希望,但我没有找到 .Net 的任何实现
还有其他解决方案吗?