我一直在研究这两个东西,它们都提供了完全功能的Java XMPP服务器。我知道Tigase是以非常模块化的方式设计的,但还没有详细研究Openfire。
我的预期使用是创建一个自定义的基于IM的应用程序,使用XMPP是为了方便,而不是将我的服务器开放给其他XMPP服务器进行通信。
我正在尝试根据以下需求进行评估,大致按重要性排序:
- 文档覆盖率和社区支持
- 插入自己的功能有多容易
- 许可证/成本 - 我不打算发布我的代码
- 成熟度和稳定性
如果你期望扩展到数千个并发连接,请勿使用Openfire。
Tigase在处理数十万个并发连接方面表现出色,而且其架构适用于大规模分布式平台,在这些平台上XMPP只是外部接口。但是它的文档相当差劲,通常需要去阅读源代码才能理解其运行机制。
Openfire非常适合小型设置,并且其API简单易用,文档也非常完善。不幸的是,它的架构无法像Tigase一样扩展到相近的程度。
Tigase是GPL(甚至版本3)许可,而OpenFire则是Apache许可。对于闭源应用程序,OpenFire是首选。
Tigase易于嵌入和被证明是可靠的-支持数千个并发用户。它甚至有与传统网络(如ICQ)通信的网关。
唯一的缺点是它只能处理每个实例(端口)的一个域名,但从您的描述来看,这不应该成为问题。
我完全同意@Yuriy的观点,在高可扩展性方面,Tigase非常棒,而Openfire则更适合于为中小企业提供聊天服务的初学者IT。我在我的Tigase vs Openfire博客中详细阐述了这一点。
Openfire 3.7.0.beta 已经发布了几天。 有很多错误修复,现在也支持 Solaris 作为主机系统。