天天看点

深入认识Tigase XMPP Server(下)

版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/41283195

深入认识Tigase XMPP Server(下)

作者:chszs,转载需注明。博客主页:

http://blog.csdn.net/chszs

接上一篇文章《

深入认识Tigase XMPP Server(上)

》。

8、Android Messenger

完全支持XMPP/Jabber的主要规范和大多数扩展,至此文档和照片的分享,好友的地理位置的分享。

Android Messenger是一个全功能的XMPP客户端,而且还注意保护设备的电池电量,减少设备的流量。特征如下:

1)至此XMPP最新的RFC规范和大多数扩展

2)面向移动的优化,减少电池使用率,降低流量

3)可以同时连接到不同的XMPP服务器,不限制账户数量

4)支持MUC群聊

5)与好友分享地理定位

6)文档和照片分享

7)支持发布订阅功能

9、Tigase Socks5 Proxy

实现通过NAT网络地址转换后的用户间的二进制数据和文件的传输,针对大文件和小文件传输做了优化,支持传说的quotas与计费系统的集成。

及时消息和实时通信系统如今不仅是聊天、在线状态,还可以是语音、视频通话。人们分享他们的想法、经验、情感、照片、视频以及文件。尽管文档分享主要是企业和团体协作的主要功能,照片和视频分享才几乎是每个人都需要的。人们拍照、录制视频,并希望与朋友和家人即时分享。因此,当前的IM和RTC部署需要有效的文件共享系统。

理想情况下,你希望人们直接互联并直传文件。但这不可能,因为如果用户位于NAT背后,或者用户希望与多人一起分享文件就做不到。对于后者,用户需要多次传输文件给朋友才能实现群体分享,消耗太大。

使用公网的代理服务器可以轻松解决以上问题。它允许用户通过代理传输文件。在NAT背后的用户都可以连接到公网代理服务器,并通过它传输共享的文件给多个好友,每位好友可以从服务器下载分享的文件。

Tigase Socks5 Proxy提供了很多独特的功能:

1)NAT背后的用户的二进制数据传输,可交换各种类型的文件

2)超高吞吐率,可充分利用带宽,尤其是传输大文件时

3)大量的并行传输,同时传输多个文件

4)全局配额或为每位用户配额或为域配额,以限制传输和防止滥用

5)易于与计费系统相集成,以便为用户提供更好的服务

6)提供积分系统

7)设置多种机器来分担负载

8)虚拟域的支持,允许隔离用户和客户端到不同的计费组

9)很好地与Tigase XMPP服务器集成,在集群模式下部署系统支持数百万在线用户

10、Tigase CLI Management

提供对XMPP服务器的命令行访问,轻松完成管理任务。

此功能很方便,它可以通过一个漂亮的图形界面来管理。但是,对于Tigase集群模式的安装,最好是采用命令行方式管理,尤其是执行那些通过定时器运行的自动化任务。Web控制台和独立应用都干不了这些任务,还是需要可靠的、灵活的命令行工具来完成这些任务。这就是Tigase命令行管理工具。它的特征如下:

1)完全支持XEP-0133规范的管理命令

2)通过API编写脚本做扩展。尽管工具只是一个Java应用程序,但还是可以使用脚本语言(如Groovy、Python、Ruby等)扩展其功能和命令

3)提供大量开箱即用的管理任务,满足常规的管理需求

4)简单、易用,学习成本低

11、Tigase MUC

支持基于角色的群聊,提供API和自定义扩展,可处理数百万的小型聊天室和有数千用户的大型聊天室。

真正的社区需要人们的互动。这可以通过多种方式实现:电邮、Twitter、FaceBook、论坛、网站评论等。但是,这些都比不上实时通信,发送聊天消息,可以立即得到回应,与朋友在线聊天。多个人一起聊可以用群聊。

Tigase的MUC组件可以提供:

1)实时群聊

这意味着很多人可以在虚拟房间聊天,交流想法。

2)基于角色的房间成员

允许设定房间管理员、版主,分配发消息和允许监听/读取消息的权限。

3)密码保护的聊天室

创建私人群聊室,有密码的用户才能进入聊天室。

4)受邀的聊天室

受邀的用户才能进入聊天室。

5)私人的、无形的聊天室或公共聊天室都可以按需求轻松创建

6)聊天历史记录到数据库

7)通过MUC集群模式支持数百万的群聊室,负载可以有效地分布到各服务器上,并提供了几乎无线的可扩展性

8)MUC集群模式支持超大群聊天室,可容纳成千上万的用户,可以把单个聊天室分不到集群中的多台服务器上。

所有提供的MUC功能都是开源软件,只有MUC集群模式是官方额外提供的商业级功能。

12、Tigase Testsuite

针对基本的XMPP和大多数扩展,提供了数百个测试。

Tigase测试包是一个强大的工具,可以运行Tigase服务器的功能和性能测试。它不限于Tigase,还可以测试支持XMPP协议的服务器。但是,此测试包是为Tigase设计的,是为了确保Tigase各模块功能正常。

这里是测试结果: http://build.tigase.org/~tigase/

实际上,Tigase的每日构建版都用此测试包做了测试,以保障代码质量。

详见: http://build.tigase.org/nightlies/tests/

可以基于此测试包设计复杂的测试场景,此测试包最有趣的特点包括:

1)自定义的脚本语言,可使用很少的代码即可设计非常复杂的测试场景。

2)无需添加简单的测试脚本(内容很全了),在大多数场景下只需指定发送到的服务器、预期的返回结果即可。

3)产生HTML格式的测试报告:成功的测试标绿,失败的测试标红。

4)对每个测试案例都有定时器,因此可以清楚知道服务器的响应时间,还可以用它比较各版本之间的性能差异。

5)每个测试案例都有完整的协议交互的输出,可以定位和分析错误。

6)所有的测试案例都是运行在网络并执行了服务器的方方面面,因此测试包是完整的测试,从网络层到上层组件都得到了测试。

13、Tigase ALB

无限制的设备在线数,地理上发布的集群节点,减少97%网络流量。

有几种解决方案,允许你把用户分配到集群节点,并分发到多个服务器上。这些解决方案包括:Round-robin轮询、专业级的硬件路由器(比如Cisco的)、软硬件防火墙、代理服务等。

这些方案都是为用户随机分配机器,分布或许是比较平均的,但不是最佳的,如果你使用了Tigase ALB(Advanced Load Balancer),那么可以做到其它方案做不到的三件事:

1)为1亿或更多在线用户运行安装

2)构建地理上分散的XMPP集群

3)为有非常大的联系人列表的用户运行安装,联系人列表的人数平均有数千个

对Tigase ALB来说是可能的,因为它把用户分配到特定的集群节点或节点组。它会分析所有用户账户的社交网络,把用户分配到特定的机器上,以便减少网络流量。它采用了基于人工智能和遗传算法的高级技术来实现这一点。

ALB很复杂,但他工作的很好。

ALB是非入侵式的,它可以在后台不断地优化用户数据,并逐步提高系统的整体性能。ALB可以在任意时间打开和关闭,而不会影响XMPP的安装。ALB可以与Round-robin轮询或其它负载均衡方案一起工作。一旦你正确地安装并配置ALB到系统中,它会变为不可见,但你可以看到效果,系统的性能每天都在变得更好。

14、Tigase STUN

允许NAT背后的设备直连,减少服务和系统的负载,降低网络流量。

Jabber、XMPP、IM(Instant Messaging)、IC(Instant Communication)服务最初是交换文本信息。消息文本、用户状态文本、联系人信息文本等,都是通过这样的系统进行交换的。

现在,各种类型的文档、招聘、视频、数据库等,这些二进制数据也需要实时交换。XMPP服务器可以搞定这个,它可以作为二进制连接握手代理和实际的P2P连接的代理或中转代理。偶尔还可作为带内传输。这里有多种选择,通常首选萨送大的二进制数据块给直连的用户。这也是最高效和成本最低的方式。

不幸的是,用户之间要实现直连是很困难的,这是因为NAT的原因,用户在NAT背后,所以用户的设备是不可见的,Internet不能直达。如果某个应用从NAT背后的设备连接互联网时,它是没有办法告知服务器它自己的公开/静态IP地址的,因此它也没法提供任何可选项给第三方如何建立P2P连接。这就需要一个中间服务器,STUN服务器可以搞定这个。它允许应用程序发现自己的公开IP地址,并与另一方协商最优的直连。

此方案的优点:

1)位于NAT背后的两个设备可以建立P2P直连

2)消除了网络消耗大的二进制传输,减少了服务器负载;

3)通过减少了负载和网络流量,降低了运营成本

4)如果需要媒体交换作为用户到XMPP服务的连接,那么它是一个理想的解决方案。它可以很好地与Tigase XMPP服务器相集成,可以部署到多台服务器上,无需复杂的配置。

15、Tigase Monitor监控

更早的发现网络瓶颈。

Tigase Monitor是一个独立的桌面应用程序,它可以连接到所有的Tigase服务器,并提供所有Tigase系统的状态概览。它可以展示有意义的图表,包括:CPU利用率、内存使用率、用户的分布、不同类型的流量……

除此以外,它还提供了内部队列尺寸、潜在的评奖、平均处理时间的详细信息。

Tigase Monitor是实时监控,系统有状况,会立即得到通知。

Tigase Monitor特征包括:

1)Tigase测量的实时数据活动图

2)单个应用监控的服务器数量无限制

3)自定义的“第二”窗口:用于显示自定义的测量数据

4)系统性能和瓶颈的详细信息

5)自动产生屏幕截图,并周期性的存储到硬盘

继续阅读