我被赋予了开发服务器架构多任务在线游戏(用于Android和iOS)的任务。游戏将涉及玩家之间的消息交互(不会发送太多数据,但会频繁发送)。
在浏览互联网之后,网络套接字和XMPP服务器似乎是我的可用选项。而且我对Web套接字有点弯曲,基本上我是Ruby on Rails开发人员(对我来说可用的选项是faye)。
在挖掘了一点之后,我遇到了NodeJS中使用的Socket.IO。它看起来不错,但我对可扩展性有点担心。我们预计未来会有大量流量,所以我不确定NodeJS是否可以处理此类流量。
你们有什么建议,网络套接字(如果有,那么对我来说最好的选择)还是XMPP服务器?
答案 0 :(得分:3)
如果您是Rails开发人员并且使用Web技术感觉很舒服,那么您一定要使用WebSockets。
XMPP很棒但是使用Ruby处理XMPP很难,你需要先学习XMPP。此外,大多数XMPP服务器都是用Erlang编写的。
对于Rails应用上的websocket,您最好的选择是websocket-rails。它建立在Faye和Eventmachine之上并且速度非常快。我们目前正在将它用于实时聊天应用程序,该应用程序具有近1k的连接,并且仍有很大的发展空间。
顺便说一下,如果你要使用websocket-rails 瘦,那么web服务器就可以了。您可以创建一个群集并进行线性扩展。