首页 > Web, 技术 > pubsubhubbub简介

pubsubhubbub简介

Google最近发布了pubsubhubbub协议,看上去挺简单,倒解决了我多年来关于RSS的疑惑。本来我一直以为RSS订阅是有显示的更新提示机制的,在挖掘了一些文档和实现后,发现只是简单的poll,不由得为其效率担心。好在现在有很多在线订阅器,减少了部分流量,不然很难想象一般的小站怎么能撑得住大量用户的轮询。但这么poll下去也不是个办法,效率还是不行。Google发布的pubsubhubbub协议就是为了解决这个问题而提出的,是个20%工作时间的项目。

下面的简介翻译自项目主页。

(pubsubhubbub)是一个简单的、开放的、服务器对服务器的、基于web做hook(订阅)的发布/订阅协议,作为ATOM和RSS的扩展。

支持pubsubhubbub协议的服务器,在一个它们感兴趣的话题(feed URL)更新时,可以得到近乎实时的通知(通过webhook回调)。

协议大体上是这样:

  • 一个feed URL(话题)在它的ATOM或者RSS的XML文件里,通过<link rel=”hub” … >声明它的hub服务器。服务器可能由发布者运营,也可能是一个所有人都能使用的社区hub(支持ATOM和RSS的feed)。(APPSPOT可能被墙,这里推荐另一个实现superfeedr
  • 订阅者(对某个话题感兴趣的服务器)一开始像往常那样取得话题的ATOM。如果在ATOM文件里声明了hub信息,订阅者就可以跳过痛苦的、重复的URL轮询,转而在feed的hub上注册并订阅该话题的更新。
  • 订阅者在声明的hub上订阅话题的URL。
  • 当发布者更新话题的URL时,发布者的应用会告诉hub说有一个更新
  • hub得到更新的内容并把更新内容向该条目的订阅者进行广播。

协议本身是去中心化且自由的。没有任何公司处于控制的核心地位。任何人都可以运营一个hub、ping(发布)更新或者通过hub订阅更新。

作为起步,我们提供了一个hub的一个开源参考实现(协议中最难的部分),运行在GAE上,所有人都可以用(还要看某墙的脸色)。

分类: Web, 技术 标签: , ,
  1. 2009年9月9日18:29 | #1

    最近wordpresss.com也出了一些新的RSS机制吧好像

    [回复]

  2. RednaxelaFX
    2009年9月9日23:52 | #2

    话说JavaEye的RSS也给服务器带去了很大负担,Robbin貌似是说靠cache来解决了性能问题

    [回复]

  3. RednaxelaFX
    2009年9月10日11:50 | #3

    对了,你之前不是用过Redmine嘛?昨天看到帖说Radiant也不错,不知道有没有看过?

    [回复]

  4. 2009年9月10日15:47 | #4

    @RednaxelaFX
    没用过,看了下介绍,发现也是ruby写的。不知第三方应用是否丰富

    [回复]

  1. 本文目前尚无任何 trackbacks 和 pingbacks.

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word


Warning: fsockopen() has been disabled for security reasons in /home/onlymars/public_html/wp/wp-includes/class-snoopy.php on line 1142