xmpp

agsxmppphp

Jabber.org是基于最初的IM服务 XMPP 和XMPP网络的一个关键节点。 html

你能够经过访问建立一个账户 register.jabber.org (或使用的另外一个好 公共XMPP服务 )。 java

登陆,使用一个IM客户端像Adium Gajim,iChat,Jitsi,Pandion洋泾浜,Psi或斯威夫特(一个完整的列表 在这里 )。 python

 

深刻认识Tigase XMPP Server(上)mysql

做者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszsandroid

本文的目的是深刻认识Tigase XMPP Server的特性。sql

一、Tigase HTTP API数据库

实现XMPP和HTTP之间的桥梁,可经过REST调用实现对Tigase安装的管理和维护,可经过脚本API在运行时进行扩展。跨域

使用HTTP API组件,能够: 1)下载Tigase XMPP服务器运行时的统计,它包含了1000种不一样的性能度量。能够作到轻松、快速的监控和早期预警等功能。 2)经过REST API管理Tigase XMPP服务器,实现Tigase服务器与第三方维护、管理系统的集成。 3)灵活的脚本框架,能够在运行时添加管理任务,能够在扩展管理和维护功能时无需重启服务。 4)灵活的HTTP API框架,能够添加更多的服务并托管到XMPP引擎上。
二、Tigase XMPP Server浏览器

全球大约有1亿的设备链接到Tigase服务器上,全球大约有1100台服务器部署运行着Tigase服务器。

业界有不少优秀的开源XMPP服务器,好比eJabberd、Openfire、Jabberd二、Prosody,还有一些优秀的商业XMPP服务器,好比lsode、Jabber XCP等。在XMPP.ORG网站上能够看到完整的列表。

Tigase XMPP服务器是至关独特的,它彻底支持最新的规范(如RFC6120-XMPP CORE、RFC6121-XMPP IM和其它扩展)。 1)高度优化的。主二进制文件小于1MB,可运行于10MB内存的设备上。 2)高度模块化。每一个部件或组件均可以经过配置加载或替代。 3)很是灵活。集成到系统中很方便,支持开箱即用的集群,无需寻找附加软件或扩展库。 4)为低、中、高档服务器而设计。还在Amazon的EC2云上普遍测试过。 5)良好的测试。有专门的工具来运行自动化测试,还能够手动运行兼容性测试,以及大量的负载测试。全部的测试结果都是公开的,全部测试使用的工具和配置细节都是公开的。 6)支持脚本。支持Groovy、Python、Ruby、Scala等脚本语言编写扩展。 7)易于监控。能够经过HTTP、SNMP、JMX、XMPP等方式监控服务器。 8)支持SSL。Tigase从设计上就保证了安全,保护用户的隐私。API不容许从一用户访问另外一用户的数据,在服务器端实现了强隔离。
三、Tigase ACS

Tigase单个安装(One Installation)能够支撑1400万在线用户;单个安装美妙能够处理50万条消息;单个安装能够实现40台服务器集群。即Tigase ACS。

Tigase ACS是Tigase XMPP服务器的商业级的集群实现。它专一于某些目标,如联系人列表超过10个,以及大规模XMPP系统工做在集群模式: 1)在安装时解决网络流量的问题 2)容许扩展到上百万的在线用户或设备 3)容许把负载分配到多种机器上 4)实现系统的高可用,预防服务的中断 5)支持超大群聊 6)提供消息推送服务

使用ACS能够达到: 1)下降集群节点间的网络流量10倍以上 2)减小CPU利用率至少5倍 3)在高负载状况下也能提供可靠服务 4)支持大量的链接 在设计上可处理500万以上的在线用户。咱们测试过产品状态,支持150万在线用户。 5)支持多服务器 设计上能够在50台以上服务器上有效工做。测试过10个集群节点,产品系统运行在40台机器的状况。 6)部署极其简单 只需修改一点配置,数据库层不变。
四、Tigase发布订阅(PubSub)

Tigase支持完整的发布/订阅(PubSub)扩展规范。能够把消息推送到上百万的频道中,每一个频道能够有上百万的订阅用户。集群模式下提供了近乎线性的可扩展性和负载分配。

发布订阅扩展容许你建立频道供用户订阅,你能够把内容推送到频道并发布。而后所有内容或者只是更新的内容会被发送给全部的订阅者。这种基于角色的系统,与群聊相似,但订阅者没必要在线,离线也能把消息推送给用户(只要用户一上线就能收到)。

发布订阅功能能够作什么? 1)能够根据兴趣分组内容,如体育、科学、天气、新闻等,并把内容推送给感兴趣的人。 2)能够用于灾害预警,居民能够根据地理位置进行分组。 3)能够提供基于位置的服务。 4)业务流程可使用此方式来发送警告。

Tigase的发布订阅能够提供: 1)交付近乎实时的通知给订阅频道的用户 2)基于角色的订阅系统,决定哪些用户只能接收/读取内容,哪些用户能够发布内容到频道,以及频道级管理员、全局管理员。 3)自定义内容和通知元数据能够很好地匹配各类需求。 4)灵活的基于用户的交付系统,能够决定是否只把通知交付给在线订阅的用户;是否把通知交付给全部订阅的用户;还能够指定通知的过时时间,以及其余不少选项。 5)支持数百万的发布订阅频道交付通知给订阅者。 6)发布订阅频道支持上百万的订阅者。
五、消息归档(Message Archiving)

Tigase提供了对消息归档的完整支持(XEP-0136扩展),支持数据库分片(开箱即用),还能做为外部组建部署到多种服务器上。

用户每每但愿保存聊天记录以便之后检索,基本上目前大多数聊天客户端都在本地保存了聊天记录,可是,用户每每不止一个设备,用户但愿聊天记录在每一个设备上都能查到。那么这些聊天记录如何在各类设备的客户端之间进行同步呢?

最佳的解决方法就是把聊天记录存储在服务器端,并运行用户的全部设备都能访问聊天历史记录。消息归档组件容许把用户的聊天历史记录存储到服务器的单个库中,并能按需搜索。Tigase服务器提供了对消息归档扩展的完整支持。对终端用户而言,他的工做彻底透明,自动存储消息。

消息归档提供了聊天文档的大量特征: 1)能够在任意时间打开/关闭聊天记录 2)支持OTR(Off-The-Record,即聊后即焚)聊天 3)自动把群聊分到不一样线程以便逻辑区分不一样的对话 4)根据不一样的条件,能够灵活地检索聊天历史记录 5)管理员可强制查看全部用户的聊天记录,而无论用户的设置 6)支持开箱即用的数据库分配,容许数据和负载进行分配
六、JaXMPP库

提供Android移动设备、GWT Web客户端、独立的Java应用程序等库,彻底支持XMPP/Jabber规范及其全部主要的扩展。

JaXMPP表明Java XMPP,但它不只是Java库,它还兼容GWT,所以能够用于开发Web客户端,它还兼容Android Java,所以能够用于开发带XMPP支持的Android移动应用,以及常规的Java应用程序。

此客户端库的功能完整,并且代码开源并免费。 JaXMPP库网站:  https://projects.tigase.org/projects/jaxmpp2 JaXMPP库文档:  https://projects.tigase.org/projects/jaxmpp2/wiki

七、Web客户端

全功能的Web客户端,支持基本的聊天、MUC、发布/订阅和许多扩展管理接口,经过CORS,经BOSH或WebSocket链接到任意XMPP服务器实现跨站点支持。

CORS:Cross-Origin Resource Sharing,跨域资源共享

功能很是全,支持: 1)完整的XMPP规范 2)Web优化(更快的重连和聊天状态恢复) 3)消息归档支持(从服务器查看历史聊天记录) 4)良好的MUC群聊协议(访问Web浏览器时能够群聊) 5)发布订阅(直接从Web浏览器发布消息到发布订阅节点)

http://www.cnblogs.com/netlm/archive/2006/09/20/510142.html

 

http://xmpp.org/software/servers.html

相关文章
相关标签/搜索