2012-07-27 59 views
1

我正在创建一个社交网站,我需要一个IM /聊天解决方案。关于IM /聊天系统的社交网站网站的想法

对话只是一对一的,用户只能与他们的朋友聊天(即Facebook聊天 - 没有频道,没有房间...)。

该网站是在CodeIgniter(PHP)与MySQL数据库。可能会被放在VPS(Linux)上,所以我可能会控制环境。此外,预计将有超过10万名用户。

所以,我需要一些关于如何进行聊天的想法。

我的想法而已:

  • 每X秒
  • 实现的Jabber/XMPP系统(我对此没有任何信息,也不可能(对网站这种规模不能很好的解决方案)Ajax的民意调查)
  • 使用第三方服务(如Pusher.com
  • 创造Node.jssocket.io聊天,并让它独立于网站的其他部分

经过一番研究,并在这里读了一些答案在SO

https://stackoverflow.com/a/11362929/928540

https://stackoverflow.com/a/5654487/928540

我真的很喜欢去的Node.jssocket.io想法,所以我想听到一些意见关于它,也许一些指导,链接,帮助,教程...

回答

0

Meteor migh t是你可以使用的解决方案。它旨在创建“实时”应用程序,我敢打赌,构建一对一消息系统是一件轻而易举的事情。

我知道这不是PHP,但你提到使用Node.js,我想如果你可以使用Node.js,那么你可以使用它。

+0

我认为流星更适合原型... – Alfred 2012-07-27 22:25:10

1

此外,预计将有超过100个000用户

我想这个问题也是有多少活跃用户/连接。

Ajax每隔X秒轮询一次(对于网站来说这个尺寸不是很好的解决方案)。

确实如此。这是一个坏主意。

实现的Jabber/XMPP系统(我对此没有任何信息,也不可能)

喜欢的东西EjabberdBOSH是很受欢迎。我玩韵律因为它很容易安装和strophe.js作为BOSH客户端(JavaScript在浏览器中)。

使用第三方服务(如Pusher.com)

最容易实现的(不结垢问题),但可以得到昂贵。 5000个同时连接将花费您每月199美元(太贵),我认为您可能需要?然后你又有大约5000个活动连接,所以它是有利可图的(?)。

创造的Node.js和socket.io聊天,并从该网站

非常受欢迎的解决方案的另一部分有它独立的 ,但现在我相信一些用户遇到内存泄漏(但这可能已经解决)。这可能只是websockets transport的问题。也可能不是真的是泄漏,但只是high memory usage because of lazy GC。我会建议在完全投放之前进行配置。