zoukankan      html  css  js  c++  java
  • xmpp

    agsxmpp

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

    你可以通过访问创建一个帐户 register.jabber.org (或使用的另一个好 公共XMPP服务 )。

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

    深入认识Tigase XMPP Server(上)

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

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

    1、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引擎上。
    2、Tigase XMPP Server

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

    业界有很多优秀的开源XMPP服务器,比如eJabberd、Openfire、Jabberd2、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不允许从一用户访问另一用户的数据,在服务器端实现了强隔离。
    3、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)部署极其简单 只需修改一点配置,数据库层不变。
    4、Tigase发布订阅(PubSub)

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

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

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

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

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

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

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

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

    7、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

  • 相关阅读:
    使用某些 DOCTYPE 时会导致 document.body.scrollTop 失效
    VB.NET 笔记1
    知识管理系统Data Solution研发日记之一 场景设计与需求列出
    知识管理系统Data Solution研发日记之五 网页下载,转换,导入
    折腾了这么多年的.NET开发,也只学会了这么几招 软件开发不是生活的全部,但是好的生活全靠它了
    分享制作精良的知识管理系统 博客园博客备份程序 Site Rebuild
    知识管理系统Data Solution研发日记之四 片段式数据解决方案
    知识管理系统Data Solution研发日记之二 应用程序系列
    知识管理系统Data Solution研发日记之七 源代码与解决方案
    知识管理系统Data Solution研发日记之三 文档解决方案
  • 原文地址:https://www.cnblogs.com/endv/p/6238689.html
Copyright © 2011-2022 走看看