深入认识Tigase XMPP Server(下)

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/41283195 深入认识Tigase XMPP Server(下)作者:chszs,转载需注明。
版权声明:本文为博主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)自动产生屏幕截图,并周期性的存储到硬盘

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
Java 应用服务中间件 nginx
Server
Server
72 0
|
网络协议
UDP Server/Client
UDP Server/Client
234 0
|
网络协议 区块链
p2p_server
以太坊系列之十九 对p2p模块server的理解 type transport interface { // The two handshakes. doEncHandshake(prv *ecdsa.
992 0
|
Linux 开发工具 Shell
|
缓存 网络协议 开发工具

热门文章

最新文章