分布式 xmpp server

上传人:子 文档编号:51678676 上传时间:2018-08-15 格式:PPT 页数:32 大小:626KB
返回 下载 相关 举报
分布式 xmpp server_第1页
第1页 / 共32页
分布式 xmpp server_第2页
第2页 / 共32页
分布式 xmpp server_第3页
第3页 / 共32页
分布式 xmpp server_第4页
第4页 / 共32页
分布式 xmpp server_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《分布式 xmpp server》由会员分享,可在线阅读,更多相关《分布式 xmpp server(32页珍藏版)》请在金锄头文库上搜索。

1、分布式 XMPP ServerCN Erlounge III, Shanghai Tim Google talk: Blog: http:/ XMPP简介及适合场合 分布式实现 与 Web, Mobile 结合http:/ 开放的IM标准协议 Jeremie Miller 于1999 January the 4th, 把 一种新的开放的IM协议取名Jabber the IETF accepted XMPP-related RFCs as Internet Drafts on 2004 october the 4th, 目 前业界逐渐转向新名称 http:/ 优势 完整的开源产品线 Serve

2、r Jabberd, ejabberd, openfire Client Pidgin, Spark, Exodus, iChat Library Libjingle(c+), gloox(c+), smack(java), XIFF(flash), xmpp4r(ruby), xmpppy(python), agsxmpp(.net), xmpphp(php) and much more. 压力测试工具(Tsung, Java XMPP Test Client)http:/ 无需投入成本制定协议 易于扩展 可迅速完成原型 适合各种容量系统,从100用户在线的系统 到100万以上在线用户。 可

3、扩展至 Web/Flash IM, Mobile IM 等各种 场合,基本都有开源实现或Library。http:/ RESTful API的流行及问题, twitter XMPP代替HTTP Pooling的趋势 OSCON day 1: Beyond REST? Building Data Services with XMPP PubSub http:/ beyond-rest-buildi.html Is XMPP the Future of Cloud Services? http:/ http:/ 头像 (vCard-Based Avatars 目前广泛采用) 表情 正在输入信息 U

4、ser Mood(XEP-0080, 个性签名), GeoLocation(XEP-0080), User Activity(XEP-108, 如发表了一篇博文等), User Tune(XEP-118, 正在 听音乐) 文件传输、语音、视频 (Stream Initiation, jingle) 更多 (http:/xmpp.org/extensions/ )http:/ 实现 Auth: SASL/TLS Bind resource Roster subscription Presence Message IQ S2S XEPhttp:/ bot Client bot 实现简便 不便实现大

5、规模服务 Component bot 作为Component注册到主服务器,可以实现round robin load balance,可以实现大规模的服务 rabbiter S2S bot 可支持多服务器和负载均衡 但需增加额外的XMPP协议栈实现http:/ XMPP简介及适合场合 分布式实现 与 Web, Mobile 结合http:/ Server面临的主要问题 大型XMPP服务器 指在线用户大于100万, 用单台服务器无法满足运营需求。 面临的主要问题: 连接数, 100万以上面临的问题 内存, 逻辑服务器的主要瓶颈之一 Presence Message dbhttp:/ 状态: XM

6、PP presence, 即 online/away/busy 集群系统的瓶颈,处理量是:O(平均好友数 * 在线用户峰值 * 变化频率) msg / sec 如 50 * 1000000 / 300 = 166,666 / shttp:/ 状态 广播:每一个presence都需要投递给所有 的服务器,很难优化或者做类似分区分片 处理。 系统需要按峰值容量来设计。 突然大量的登录 特殊事件-大量的用户同时改变昵称或者心情签 名 需要主动推送给好友,每一个presence需 要引发几十台服务器做逻辑处理。http:/ 不适合使用db来存放 使用Multicast, 只需发送一份,可跨机房 实现一

7、个快速的pubsub模型http:/ pubsub publish topic (可理解改变在线状态)生命周期可能 极短,调用一次就结束(用户在本节点无好友在线 );也可能很长 publish 数据实时广播即可,无需保存等待 consumer到来 subscribe list 相对固定(在线好友列表 or follow list) subscribe list 需要跨节点的,即一个topic在多个 节点有local subscribe list(我的好友登陆在不同服 务器) 对性能要求极高;分布式,无中心节点http:/ 消息 消息 Message 在XMPP中,Message不走P2P, 全

8、部由服务器中 转投递。 通常会经过4个服务器 对可靠性要求高 实时, 用户对延迟敏感。队列机制,线程池,GC回收 引起V M挂起几秒通常会造成延迟。 可靠到达, 丢信息会流失用户。但网络、路由及程序通 常会发生故障,0.1%的故障会引起用户大量投诉。 顺序,信息到达错序会引起笑话。但服务器通常是多 线程处理所有数据包,不容易保证顺序。http:/ http:/ DB 需要存储海量的信息 User/Group/Vcard,国内稍大型系统注册 用户可能达到千万 Roster,每个用户都有数个好友,好友记录 可能达到上亿 Offline Message 每秒需要处理上万次查询,上千次修改http:/

9、 数据分片,用户按hash分布到不同的数据 库。 为了高性能,hash算法极简单 动态扩充的问题:数据库需要不停机扩充 硬件及服务器。http:/ 其他 负载均衡 就近登录(网通,电信),跨机房问题 单点故障 存储 内存 响应速度http:/ About Google Talk Server 基于XMPP协议实现 使用Java实现 实现的难点: 服务器峰值流量 峰值 QPS 10万 一上线即大容量,没有平缓增长的过渡 压力测试 实验室的压力只是一个开端 上线前选取10%的用户做压力测试http:/ Google Talk Server 数据库和应用都支持动态扩展,无需停机。 并不支持跨 IDC

10、 作者认为在海量流量处理下,跨数据中心不利于系统 处理。 避免客户端或服务器自动重连造成DoS问题,服 务器瞬时访问过大而瘫痪。使用策略? 运行监控体系 可以分析系统任一时刻配置文件,系统运行状况。 各个模块之间协议保持向前和向后兼容。可以逐 个和批量升级http:/ XMPP简介及适合场合 分布式实现 与 Web, Mobile 结合http:/ IM Flash client SparkWeb (opensource) XIFF library 缺点:不能关浏览器窗口或离开窗口http:/ Web IM XEP-0124 Bidirectional-streams Over Synchro

11、nous HTTP (BOSH) XMPP over HTTP Gateway 只做协议转换 胖客户端 缺点http:/ 更适合大型系统的一种架构http:/ Web IM Web gateway 使用 JSON Web gateway 处理所有XMPP逻辑http:/ chat Facebook Chat 与一般的IM系统一样。最复杂之 处不是消息发送,而是在线状态通知。而 facebook为了提高用户体验,考虑增加的功能更 增大这些处理,比如好友可以看到某个用户“idle- for-10-minutes”,用户即使不操作也有巨大负荷 。 Facebook使用基于epoll技术的erlang

12、 web server, mochiweb Erlang跟其他语言RPC交互是选用Erlang的最大 问题,Facebook为了解决这个问题,自己开发了 open source的Thrift,实现远程RPChttp:/ 通常要做协议转换和简化 二进制, HTTP or Socket XMPP 优势,和PC, Web很容易互联互通 。 Android/G1 XMPP binary protocol SIP Nokia XMPP support, Nokia Internet Tablet, S60 SIP stack SIP在语音视频方面具有很好的平台支持, libjingle 目前没有SIP兼容http:/ Googl talk: iso1600at Blog: http:/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号