XMPP是云計算的未來

作者: Matt Tucker  來源: 譯言  發布時間: 2009-05-28 21:55  閱讀: 2262 次  推薦: 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
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()