我正在设计一个游戏,但这个问题适用于需要群集中的节点和主服务器之间的双向通信的任何情况.我对集群很陌生,但我积极参与Go计划,偶尔在D计划.
我真的想使用现代语言(而不是C/C++),所以我选择了这两种语言,因为:
我已经阅读了/sf/ask/248846951/和 用于游戏开发的D编程语言.
在高级别,我的游戏将完成大部分处理服务器端,客户端只是从他们的角度呈现游戏状态.游戏旨在扩展,因此它需要在群集中运行.组件主要是CPU绑定的,并且异步更新到主服务器,它与客户端共享游戏状态.大多数计算取决于用户输入,因此需要将这些事件发送到单个组件(因此是双向RPC).
我喜欢D的原因:
我喜欢Go的原因:
客户端可能会用D编写,但这不应该对服务器产生影响.
我倾向于D,因为手动内存管理已融入语言.虽然它没有很好的RPC库,但我理论上可以实现它,但我不能优雅地在Go中实现手动内存管理.
鉴于两种语言之间的选择,您会针对此问题使用哪种方法?