use*_*217 21 xmpp node.js socket.io
我有一个带有Socket.io聊天应用程序的Node.js和一个XMPP Openfire聊天系统.我期待用Node.js和Socket.io替换XMPP.但是,有人说,带有Socket.io的Node.js会出现问题,如果服务器崩溃并重新上线,则会产生瓶颈综合症,或者可能无法重新连接10,000个在线用户.真的吗?
另一个问题.在什么情况下XMPP比Socket.io更合适,反之亦然?
mik*_*ikl 13
XMPP是面向消息的中间件(Wikipedia)的开放标准通信协议.
Node.js是一个基于JavaScript的开发人员工具,用于创建网络服务.
这两件事并没有真正比较.如果您使用socket.io构建了一个聊天应用程序,它可能会遇到瓶颈问题,但这很大程度上取决于您的应用程序代码.
一般来说,如果你想要超越简单的基于浏览器的聊天,我会认真考虑XMPP(aka.Jabber),因为XMPP客户端随时可用于所有操作系统.
Jam*_*s C 11
我认为Node.js的优点在于它是用通常理解的语言(Javascript)而不是XMPP服务器编写的,常见的是用erlang/Java编写的,这些服务器并没有被广泛理解.
如果您想完全控制服务器行为并编写聪明的模块,那么我怀疑该节点将是最适合您的解决方案.
Node.js可能会失败的地方是,如果您需要扩展到一台服务器之外,您将不得不将其设计到您的节点应用程序中.我相信eJabberd和Openfire都支持开箱即用的群集,因此您需要做的就是将另一台服务器联机,配置两台服务器以便彼此通话,然后离开.
我对你的总体建议是,如果当前的XMPP系统对你来说很好,那么我就坚持下去.
正如mikl所说,XMPP是一个协议,而不是一个应用程序框架。
您可以在 NodeJS 之上构建 XMPP 应用程序,就像在 NodeJS 之上构建 SocketIO 应用程序一样。不同之处在于,与您自己构建的某些解决方案相比,OpenFire 和 ejabberd 已经存在并经过了一段时间的测试。这并不意味着您应该这样做,但它确实意味着您应该有一个良好的商业案例来这样做。
如果您正确设置基础架构,则几乎可以在任何框架中执行此操作。为了减少峰值期间的延迟,您应该对请求进行负载平衡,这也可能是任何系统所需要的。
归档时间: |
|
查看次数: |
17477 次 |
最近记录: |