PubSubHubsub(PuSH)
http://code.google.com/p/pubsubhubbub/
A simple, open, server-to-server web-hook-based pubsub (publish/subscribe) protocol as an extension to Atom and RSS.
0: 订阅者从发布者那儿获得Feed(包含了Hub)
1. 订阅者在Hub上注册,同时提供一个forward link给Hub
2. 发布者把信息push给Hub/Hub从发布者定时pool信息
3. Hub把更新的数据push给订阅者,通过订阅者提供的foward link
source: http://thelimberlambda.com/2009/08/10/pubsubhubbub-hullabaloo/
好处:
1. 发布者只和Hub打交道,压力小。
2. Hub可以很容易的scale (hub同时作为另一个hub的subscriber)
坏处:
1. SERVER-2-SERVER ONLY. 因为Hub要push信息给subscriber,有可能因为firewall而不能到达
Possible Solution:
企业内部真正的publisher (boss)对外是不可见的,boss的信息发布给企业内部的Hub(CEO office),由office代理给info publish server(announcer),announcer从office获得update,同时自己又作为对外publish信息的一个feed. 在最初的信息源和最终的接收者之间,通过Hub可以进行更复杂的过滤/认证/分类。