【问题标题】:what's the best open protocol for chat room software?聊天室软件的最佳开放协议是什么?
【发布时间】:2011-05-08 03:44:06
【问题描述】:

我在 IRC、XMPP 和我拥有的第三个专有服务器之间进行比较。

每种方法的优缺点是什么,如果您知道任何可提及的,请建议其他人。

【问题讨论】:

  • 您说的是开放,但提及您正在考虑的专有选项。那么,非开放选项是否可以接受?在不知道您正在考虑什么专有选项的情况下,我们如何为您提供优缺点?
  • 我正在考虑这个,因为我有源代码。但我只想要开放的建议。

标签: protocols xmpp chat social-networking irc


【解决方案1】:

我知道这是一个非常古老的帖子,操作人员可能不会看到回复(或者甚至可能不再关心),但我会亲自部署 IRC over XMPP。造成这种情况的主要原因是随着越来越多的 XMPP 客户端连接,XMPP 服务器占用的内存量。在单个实例中,当超过 200 个用户连接并积极开始使用服务(XMPP MUC、文件传输、客户端到客户端加密等)时,我还没有看到坚如磐石的可靠性。

与 IRC 相比,我个人看到单个实例有数千个连接,并且内存利用率通常减少 60-70%。 IRC 服务器不需要解析客户端传递过来的消息,文件传输是通过 DCC 实现客户端到客户端的,设计上比基于 XML 的 XMPP 简单得多。

如果您运行多个服务器,您可能会遇到 netsplits,并允许客户端选择连接到哪个服务器。但是一个不稳定的 IRC 服务器和一个不稳定的 XMPP 服务器有什么不同呢?如果一个 IRC 服务器网络分裂,它不会让每个客户端离线——只有那些连接到它的客户端。因此,与 XMPP 相比,影响很小(除非您正在执行 s2s)。

无论如何,IRC 协议本质上更简单,在相同内存利用率的情况下,可以处理比 XMPP 更多数量级的客户端连接,使用更少的网络带宽,不需要身份验证(尽管您可以添加此功能)等。

看来我不是唯一一个有这种感觉的人:http://web.archive.org/web/20131128110041/http://laltromondo.dynalias.net:80/~iki/informatica/soft/xmpp_vs_irc/

对于这篇文章的未来读者,请考虑 IRC。它可能会在以后为您省去一些麻烦。

【讨论】:

  • Google talk 有超过 200 个用户的问题?我很确定有数百甚至数千个企业 IM 解决方案可靠地使用 XMPP,并拥有超过 200 个用户。
  • Google talk 不在单个 XMPP 服务器上运行。此外,它不可用于部署,该软件是 Google 内部的。用于 MSN 和 Facebook 的 XMPP 软件也是如此。 XMPP 在其规范中确实包含二进制 XML,并且可能比 IRC 更有效。但是用于部署的可用服务器和 irc,自 90 年代初以来一直在开发中,具有优于任何 XMPP 的免费开源服务器。
  • 现在才看到你的答案 :) 将近 4 年后,谢谢队友
  • 我喜欢 IRC。但是您如何看待 IRC 服务器不支持的标准行为,例如离线消息、推送通知等。Bouncer 可以解决这些问题,但要求所有用户都设置他们的 Bouncer 是不现实的。我不熟悉 XMPP,这与 XMPP 相比如何?
  • 我希望在设计我现在维护的系统时考虑到这一点。 XMPP 如何应对我们不断增长的用户群?好吧,套用真理 3:猪也可以通过足够强大的实例飞行......暂时......但我们遇到了麻烦。不是我对可扩展性的看法。
【解决方案2】:

您可能需要考虑PSYC

这就像 XMPP 和 IRC 的最佳功能的融合,然后还有更多:

由于它可以提供您对 IRC 的大部分期望,您可以 在启动 IRC 网络之前考虑 psyced。 PSYC 解决了 IRC 的问题 政治、身份验证和可扩展性问题,并伴随着巨大的 选择超出您期望的额外功能 IRC 服务器,仍然可以与您的所有 IRC 客户端一起使用 习惯了。在一定程度上,PSYC 和 psyced 也支持 您对 Jabber 甚至 XMPP 本身的期望,但您可能 根据您的特殊要求遇到问题。迷幻的是 同时也是一个 XMPP 服务器和网关。 PSYC 协议是 能够以本机方式提供加密数据,尽管我们只是 将在 2012 年开始使用它。

【讨论】:

    【解决方案3】:

    只需选择 XMPP。

    servers known to scale big,它可以与great libraries to support it 一起以最少的麻烦(如果这是您需要的话)与Web 客户端一起使用,并且XEP-45 准确地指定了客户端和服务器应该如何操作。

    【讨论】:

    • 我最认真地考虑 XMPP,你支持我的观点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多