0%

关于大型多人交互在线系统初步方案

有朋友咨询开发多人在线聊天系统,比较了一些受访和开源的系统,归纳如下:

1 服务端选择smrtfoxserver 2.x  :服务端开发可以选择的java 或python ,python可以快速的开发原型demo ,java也是比较好的选择,有很多的开源代码可用。客户端支持android ,actionscript ,unity 3d ,silverlight  等等,基本说对于移动开发可以包含。

有现成的成功案例,大公司也采用,不用担心性能问题,唯一缺点,费用太贵,免费可用100个用户。

2 服务端采用openfire 开源服务器:服务端采用java开发,内部使用mina 实现网络接口,mina也是和netty xsocket类似的无阻塞网络协议实现。客户端目前只能用android ,使用asmack库。采用xmpp协议实现消息流 。

3 如果不考虑手机端,可以采用node.js +websocket 实现,这个也是比较好。

4 可以考虑采用tornado python web服务器,这个也是无阻塞,支持1K以上用户连接。

5 建议采用amazon的ec服务器,以后扩展方便 ,前段nginx + tornado ,采用python 开发,客户端技术使用html5 +本地调用,平台:web+android +ios+wp7 ,使用rest接口进行数据交换 ,可用json格式,数据库:amazon的mysql 。

6 采用google gae + cloud sql ,优点:不必考虑服务扩展,google帮你做好了。

缺点: 限定了开发语言和环境。

本人没用过,接下来准备使用该5方案做一个demo :

目标:搭建一个以图片交流的平台,用户可用方便的手写后和其他用户交流,能同事容纳100K用户

周期: 1年 业余开发