Tigase、Openfire和其他开源XMPP服务器的比较

6

我一直在研究这两个东西,它们都提供了完全功能的Java XMPP服务器。我知道Tigase是以非常模块化的方式设计的,但还没有详细研究Openfire。

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

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

  1. 文档覆盖率和社区支持
  2. 插入自己的功能有多容易
  3. 许可证/成本 - 我不打算发布我的代码
  4. 成熟度和稳定性
5个回答

10

如果你期望扩展到数千个并发连接,请勿使用Openfire。

Tigase在处理数十万个并发连接方面表现出色,而且其架构适用于大规模分布式平台,在这些平台上XMPP只是外部接口。但是它的文档相当差劲,通常需要去阅读源代码才能理解其运行机制。

Openfire非常适合小型设置,并且其API简单易用,文档也非常完善。不幸的是,它的架构无法像Tigase一样扩展到相近的程度。


Tigase是GPL许可的,不幸的是。 - Mr. Boy
2
你需要重新分发你的代码吗?Tigase是一个典型的后端系统,只要你不在其他标签下以某些修改重新分发它,你就不必担心GPL。只需将其用于你的后端需求即可。 - Yuriy
@Yuriy 是的,如果我运行托管服务,这个漏洞是可以接受的,但许多客户可能希望在他们的网络上安装自己的服务器,而不是信任云。 - Mr. Boy
请注意,非 GPL 代码可以通过 API 与 GPL 代码进行交互,而不会使非 GPL 代码受到 GPL 的约束。没有任何阻止您告诉客户在自己的服务器上安装您的软件时,他们需要同时安装 Tigase 并按照您的规格进行配置。 - Thaeli
如果你声称Openfire具有某种并发性能,那么你还应该提及你的硬件规格。事情也取决于你的硬件。 - HIRA THAKUR

2

Tigase是GPL(甚至版本3)许可,而OpenFire则是Apache许可。对于闭源应用程序,OpenFire是首选。

Tigase易于嵌入和被证明是可靠的-支持数千个并发用户。它甚至有与传统网络(如ICQ)通信的网关。

唯一的缺点是它只能处理每个实例(端口)的一个域名,但从您的描述来看,这不应该成为问题。


你能否添加关于“可以嵌入”的任何细节? - Mr. Boy
既然这是唯一的答案,我会给你赏金,但这并不是我想要的那么多信息,如果你能扩展一下,请尽管说! - Mr. Boy
Tigase似乎官方上并不支持嵌入式,但我看到有些人在嵌入式方式下使用它。Apache Vysper是一个非常好的可嵌入XMPP服务器,但开发已经停滞不前了。 - Yasitha Waduge

2

我完全同意@Yuriy的观点,在高可扩展性方面,Tigase非常棒,而Openfire则更适合于为中小企业提供聊天服务的初学者IT。我在我的Tigase vs Openfire博客中详细阐述了这一点。


1

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


-1
关于openfire...它似乎被放弃了,而且肯定不是因为缺少需要修复的错误 ;)

2019年,新的提交和发布可用:https://github.com/igniterealtime/Openfire/commits/master - Puce

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接