我正在创建一个社交网站,我需要一个即时通讯/聊天解决方案。
对话是一对一的,用户只能和朋友聊天(即Facebook聊天-没有频道,没有房间.)
该网站是用CodeIgniter(PHP)和MySQL数据库制作的。可能会安装在VPS (Linux)上,所以我可以控制环境。此外,预计它的用户将超过10万人。
所以,我需要一些关于如何进行聊天的想法。
到目前为止,我的想法:
Node.js和socket.io中创建聊天,并使其独立于网站的其他部分在研究和阅读了一些答案之后
https://stackoverflow.com/a/11362929/928540
https://stackoverflow.com/a/5654487/928540
我真的很想接受Node.js 和的观点,所以我想听听关于它的一些意见,或者一些指导,链接,帮助,教程...**。
发布于 2012-07-27 12:03:53
此外,预计它的用户数将超过10万。
我认为问题还在于活跃用户/连接的数量。
Ajax每隔X秒进行一次投票(对于这个大小的网站来说不是很好的解决方案)。
确实如此。这是个坏主意。
实现Jabber/XMPP系统(我没有这方面的信息,也不可能)
像埃贾伯德和波什一样的东西非常受欢迎。我玩韵律,因为它很容易安装和strophe.js作为BOSH客户端(浏览器中的javascript)。
使用第三方服务(如Pusher.com)
最容易实现的(没有缩放问题),但可能会变得昂贵。5000个同时连接将花费你199美元每月(太贵),我认为你可能需要?然后,您有大约5000个活动连接,因此它是有利可图的(?)
在Node.js和socket.io中创建聊天,并使其独立于网站的其他部分
非常流行的解决方案,但现在我相信一些用户正在经历内存泄漏(但这个问题可能已经解决了)。这可能只是websockets传输的问题。而且,它可能不是真正的泄漏,而是由于延迟GC,内存使用率很高。我建议你在完全背诵之前先做个简介。
发布于 2012-07-27 02:25:55
流星可能是您可以使用的解决方案。它旨在创建“实时”应用程序,我敢打赌,构建一对一的消息传递系统是一件轻而易举的事情。
我知道这不是PHP,但是您提到了使用Node.js,我想如果您可以使用Node.js,那么您可以使用这个。
https://stackoverflow.com/questions/11680567
复制相似问题