Tigase、Openfire 和任何其他开源 XMPP 服务器之间的比较

Posted

技术标签:

【中文标题】Tigase、Openfire 和任何其他开源 XMPP 服务器之间的比较【英文标题】:Comparison between Tigase, Openfire and any other open-source XMPP servers 【发布时间】:2011-02-28 06:31:08 【问题描述】:

我也一直在研究这些,它们似乎都以 Java 提供了功能齐全的 XMPP 服务器。我知道 Tigase 是以非常模块化的方式设计的,还没有详细了解 Openfire。

我的预期用途是创建一个基于 IM 的自定义应用程序,为了方便而使用 XMPP,而不是打开我的服务器以与其他 XMPP 服务器通信。

我正在尝试根据以下内容评估我的需求,大致按重要性排序:

    文档覆盖范围和社区 插入自己的功能多么容易 许可/成本 - 我不打算发布我的代码 成熟度和稳定性

【问题讨论】:

【参考方案1】:

Tigase 是 GPL(甚至是第 3 版)许可,而 OpenFire 是在 Apache 许可下...对于封闭源应用程序是 OpenFire。

它是可嵌入的并且被证明是可靠的 - 1000 多个并发用户。它甚至具有与传统网络(如 ICQ)通信的网关。

我可以在这里看到的唯一缺点是每个实例(端口)只能处理一个域,但是根据您的描述,这应该不是问题。

【讨论】:

你能添加关于“它是可嵌入的”的任何细节吗? 既然这是唯一的答案,我会给你赏金,但它没有我所追求的那么多信息,所以如果你能扩展,请做! Tigase 似乎不能正式嵌入,但我见过很少有人以嵌入方式使用它的线程。 Apache Vysper 是一个非常好的嵌入式 xmpp 服务器,但开发根本不活跃。【参考方案2】:

关于 openfire ...它似乎或多或少被放弃了,当然不是因为缺少要修复的错误;)

【讨论】:

2019,新的提交和发布可用:github.com/igniterealtime/Openfire/commits/master【参考方案3】:

Openfire 3.7.0.beta 已经发布了几天。 大量错误修复,现在还支持 Solaris 作为主机系统。

【讨论】:

【参考方案4】:

如果您希望扩展到超过几千个并发连接,请不要使用 Openfire。

Tigase 在处理数十万并发连接方面非常出色,并且针对 XMPP 只是外部接口的大型分布式平台进行了出色的架构设计。它以相当糟糕的文档为代价。您经常需要阅读源代码以了解发生了什么。

Openfire 非常适合小型设置,它的 API 简单且文档齐全。不幸的是,它的架构无法实现几乎接近 tigase 的扩展能力。

【讨论】:

不幸的是,Tigase 是 GPL。 您需要重新分发您的代码吗? Tigase 是一个典型的后端系统,只要您不以其他标签进行一些修改来重新分发它,您就不必担心 GPL。只需将它用于您的后端需求。 @Yuriy 是的,如果我运行托管服务,这个漏洞是可以的,但许多客户可能希望在他们的网络上安装自己的服务器而不是信任云。 另外请记住,非 GPL 代码可以通过 API 与 GPL 代码交互,而不需要非 GPL 代码受 GPL 约束。没有什么能阻止您告诉在他们自己的服务器上安装您的软件的客户,他们还需要安装 Tigase 并根据您的规格进行配置。 如果您声称 openfire 具有一定的并发性,您还应该提及您的硬件规格。事情还取决于您的硬件。【参考方案5】:

我完全同意@Yuriy 的观点,因为 Tigase 非常适合高可扩展性,而 Openfire 更适合小型、新手 IT 为 SMB 运行聊天。我在Tigase vs Openfire 的博客中对此进行了详细介绍。

【讨论】:

以上是关于Tigase、Openfire 和任何其他开源 XMPP 服务器之间的比较的主要内容,如果未能解决你的问题,请参考以下文章

Linux搭建XMPPserverTigase(Sparkclient測试)

Android 聊天是不是有任何 Openfire smack 替代方案?

在 Tigase 中实现 QoS

与 Tigase 的 SMS 网关集成

在 Spring Java 应用程序中嵌入 openfire

除了数据库,openfire 在哪里存储名册值?