社交网站上IM /聊天系统的想法

我正在创建一个社交网站,我需要一个IM /聊天解决方案。

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

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

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

到目前为止我的想法:

  • 每隔X秒进行一次Ajax轮询(对于网站来说这不是一个好的解决方案)
  • 实现Jabber / XMPP系统(我对此没有任何信息,也不可能)
  • 使用第三方服务(如Pusher.com)
  • Node.jssocket.io创建聊天,并使其独立于网站的其他部分
  • 经过一些研究并阅读了一些关于SO的答案

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

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

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


    此外,预计将有超过10万名用户

    我认为这个问题还有多少活跃用户/连接。

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

    诚然。 这是一个坏主意。

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

    Ejabberd和BOSH之类的东西很受欢迎。 我使用韵律玩,因为它非常容易安装,而且strophe.js作为BOSH客户端(JavaScript在浏览器中)。

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

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

    在Node.js和socket.io中创建聊天,并使其独立于网站的其他部分

    非常流行的解决方案,但现在我相信一些用户正在经历内存泄漏(但这可能已经解决)。 这可能只是websockets传输的问题。 此外,它可能不是真正的泄漏,但由于惰性气相色谱只是高内存使用量。 我会建议在完全投放之前进行配置。


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

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

    链接地址: http://www.djcxy.com/p/94109.html

    上一篇: Ideas on IM/chat system for social network website

    下一篇: How to send message using xmpppy to a jabber client?