实时 Web 与云管理标准

  • Dilip Krishnan
  • 黄璜

2010 年 2 月 24 日

话题:SOA架构云计算DevOps

William Vambenepe 对于目前现有的云管理解决方案中“实时”特性的缺失发表了看法,并提出了定义这一类解决方案的可取的属性

至少从发出第一个 SNMP 自陷起,事件 / 警报 / 通知在 IT 管理领域已经成为中心的概念,甚至有可能比这更旧远。然而它们在所有的云管理 API/ 协议中神奇的蒸发了。

他给出了一些经验丰富的云技术践行者的文章链接,文中不乏他们对于众多云技术厂商的云管理 API 缺乏实时特性所流露出的不满。

RightScale 的 Thorsten von Eicken是第一个要求"基于事件的接口而不是基于请求——回复接口"的人,他指出"我们运行了大量的机器,不做别的,而是 100% 占用 CPU 一直轮询 EC2 检测变更"。George Reese随即作出了响应并开始勾勒解决方案。

他接下来继续定义了能够促进实时云管理解决方案的框架特性,并作出了详细的描述。

  • 事件格式
  • 订阅创建
  • 订阅管理
  • 订阅过期
  • 交付的可靠性
  • 交付机制
  • 安全
  • 节制

尽管这样的标准在云管理领域里还不存在,这并不代表实时通信的根基不存在于像 FriendFeed,Twitter,Google Wave 这样的消费领域。Dare Obasanjo检验了现在已可以获取的各种实时 web 实现并对于这些服务所使用的技术提供了详细的解析。

作为描述即时消费所产生的 web 内容这一概念相关的蓬勃趋势与技术"实时 web"这一术语变得流行起来。然而 […] 通常很难以理解技术的细节如何落到实处而炒作又是从哪里开始的。

"什么样的特性和功能组成了实时 web 呢?"他开始推敲,

  1. 当有可用更新时刷新页面而不需要重新载入。一个较好的例子就是Tweeter 的搜索功能

  2. 一旦发生内容更新就接收到通知而不是去轮询。这方面的例子是只要用户关联了双方的服务,Tweeter 的用户状态更新一秒钟内就会显示在 FriendFeed 上

  3. 一些人考虑普遍推广像 Facebook 和 Twitter 对数据提供的搜索功能这样的状态更新。

接下来他开始探讨提供实时 web 能力的解决方案以及这一领域中的多方角逐者。

* 将实时与 AJAX 结合:COMET,长轮询以及 Web 套接字

- COMET通常是指使用各种技术在浏览器与服务器之间保持一个永久的开放连接。其中一个方案是iframe 隐藏技术

- 另一个常见的技巧是长轮询。这一方式中浏览器应用会使用 XMLHttpRequest 或者脚本标记对服务器数据发起异步的请求。一旦数据返回,同样类型的请求又被发出。因此本质上保持了浏览器与服务器之间的永久连接。

- W3C 的 HTML 5 工作组正致力于为下一代 HTML 打造 COMET 能力,创建Web 套接字规范

* 光速般的通知响应:以 PubSubHubbub 超越轮询

- 因为轮询是一种低效的获取内容更新的方式 […] 一帮 Goolge 员工提出了PubSubHubbub 协议 (通常略作 PuSH)作为将实时通知引入 web 内容聚合的方式。 已经有许多站点加入了消费和生产 PubSubHubbub 的阵营 包括MySpaceLiveJournalGoogle ReaderTumblr以及FriendFeed

* 创建和消费水龙带:实时搜索的关键

- 能够对 [来自 Twitter 和 Facebook 等网站] 所发生的状态更新作出分析以决定人们对于新闻事件的观点或检测重大新闻目前是一个快速增长的领域,并开始了多方角逐,其中包括微软 BingTweetmeme以及Sysomos等等。

实时 web 是云管理标准的草根解决方案吗?查阅他们各自相关博客可获取更多信息。

查看英文原文:Real Time Web And Cloud Management Standards

SOA架构云计算DevOps