您的位置:知识库 » 其他分类

XMPP是云计算的未来

作者: Matt Tucker  来源: 译言  发布时间: 2009-05-28 21:55  阅读: 2250 次  推荐: 0   原文链接   [收藏]  

  在网络服务架构领域中酝酿着一股新的潮流。云服务正在作为网络架构中的一个重要转变而被人们热烈的讨论着,它会让我们从互联网路转移到一种整体优于局部的协作网络中。难点在于支撑当前云服务的协议SOAP和一些其他的各类基于HTTP的协议都是单路信息交换。因此,云服务不是实时的,不可扩展,并且经常会不能够通过防火墙。那么,是时候让我们来清除障碍,来运用加速未来的SaaS模型协议,这个解决方案就是XMPP(也叫Jabber)。从来没有听说过?就在几年内,Google、Apple、AOL、IBM、Livejournal和Jive都开始运用了。听起来不错,是不是?那么,还在等什么?为什么不现在就用XMPP来建立云服务呢?并且,如果已经有人在提过云服务但是没有用XMPP,怎么推动他们来转变呢?本文剩下来的部分会关注一下当前的现状并且回答这些问题。

  轮询不好用了

  自从互联网开始起来,如果你想要同步两个服务器之间的服务,最通常的解决方案是让客户端以规律的间隔来ping服务器,这就是人们所知的轮询。轮询就是我们大多数来检查邮件的方法。我们每过几分钟ping我们的邮件服务器来看看我们是否有新的邮件。这就是网络服务接口是怎样紧密的工作的。

  以Twitter为例。高可扩展的负载包括最近关于Twitter的统计报告说,他们平均200-300连接每秒钟猛涨攀升至800连接每秒。他们的MySQL服务器每秒钟要处理2400个请求!最近,Macworld keynote成为造成Twitter切断API的罪魁祸首,它造成了十倍于该网站可承受的负荷。虽然Twitter不是云服务,也不是互联网上最大的点播服务,他们确实例证了运用基于轮询的服务导致了糟糕的用户体验。并且,这就是Twiter!想象一下世界上的所有互联网上拥堵这轮询所造成的冲击。

  有趣的是,最近的Twitter存储损耗使得例如Dave Winer的一些有影响者开始建议Twitter更换到我们已经开始尝试的XMPP。

  一些公司正在尝试用现有的协议来解决轮询问题。我认为这个举动是因为现有的系统改成另外一种协议比较困难,很大程度上是因为需要很大的投资。Salesforce是一个很好的例子,它试图用基于原来的单路协议的新程序来解决轮询问题。

  最新版本的Salesforce会发回通知给你们的网络服务来避免轮询。但是,对于开发者们来说,安装是很痛苦的。更糟糕的是,很难是转换服务通过防火墙。

  支撑

  XMPP最大的障碍是,他不是HTTP,通常人们认为需要建立的每个新东西都是基于网络的。这意味着,直到一些更加勇敢的先锋们为我们扫清了剩下的道路,我们才会在云服务中看到广泛传播的XMPP应用程序。

  作为一个参与Smack(客户端库)和Openfire(服务器)的开发者,我大量参与了XMPP,作为XMPP标准组织的一个成员,我也帮忙完善标准。XMPP是为即时消息和在线而发明的,并且是那个领域的主要的开源协议。是的,结果证明,所有为即时消息而解决的的问题都导致这个协议对云计算来说更加完美:

    * 它允许简单的双路通信,所以拜拜了,轮询。它甚至有丰富的子站功能。
    * 它基于XML并且易于扩展,对新的即时消息要素和用户云计算来说都非常完美。
    * 它很高效,并且被证明可以在一个单独的服务上扩展到数百万的并发用户(比如Google的GTalk)。它也有内建的世界范围的联合模型。

  我不是唯一一个注意到XMPP对云计算非常适合的人。Tivo正在转换到XMPP,对他们的就架构来说,这是一个更有效率的选择。

  今天,每个Tivo每隔15分钟就像Tivo服务器进行轮询来检查新的时间表记录,TivoCast下载,Unbox下载也是。这是很没有效率的--几乎所有的轮询请求都是没有用处的。没有任何事情需要做。并且当你需要开始一个下载的时候他会引入延迟 --高达15分钟。并且随着Tivo的用户基数保持增长,它不能够很好的扩展。

  那么是什么改变了?轮询系统结束了。Tivo现在使用XMPP来替代它。Tivo主要使用即时消息来处理实时通信。现在,当Tivo服务器有个新的记录要去排定,它会发即时消息给Tivo来告诉它。或者,如果有一个下载需要做,它会即时通知Tivo来这么做。这是一个更加有效率的徐彤并且它会消除恢复时间。这真的是一个聪明的主意。

  Tivo用XMPP解决了轮询和扩展的问题是令人瞩目的,但是内建的呈现功能还提供了诱人的可能性。呈现报错基本的可用信息,但是是可以扩展的并且也能够包含想地理位置之类的东西。想象一下云计算能够针对从不同地方连接的客户端进行不同的动作。

  包括我们在内的更多人会转移到XMPP,它会提供丢失掉的信息来对顶端建立要素。事实上,我很高兴的宣布Clearspace 2.0会引入基于XMPP的云计算的要素。

  XMPP云计算开发者所需要的资源

  这里有一些地方你可以就运用XMPP建立云服务的问题寻求帮助。这是一些地方的列表:

  * XMPP标准组织——标准就是在这里定义的
  * Ignite Realtime ——jive软件的开源XMPP项目
  * jabber网站——列举了XMPP服务提供者,库和客户端

0
0
标签:云计算 XMPP

其他分类热门文章

    其他分类最新文章

      最新新闻

        热门新闻