我想实现一种机制,该机制将提供一个 RESTful API,允许客户端通过服务器注册对主题的兴趣,并在注册兴趣后从服务器接收异步通知。在企业(消息)架构中,这称为发布/订阅“模式”。
对于桌面应用程序,这是很容易实现的——但是对于 Web 应用程序,这被证明是更加困难的。
是否有(最好是开源的)框架或库允许将发布/订阅模式应用于 Web 应用程序?
服务器端技术可能采用以下任何一种语言:C、C++、PHP、Python、Ruby。
我在 Linux Ubuntu 10.0.4 上运行
我想实现一种机制,该机制将提供一个 RESTful API,允许客户端通过服务器注册对主题的兴趣,并在注册兴趣后从服务器接收异步通知。在企业(消息)架构中,这称为发布/订阅“模式”。
对于桌面应用程序,这是很容易实现的——但是对于 Web 应用程序,这被证明是更加困难的。
是否有(最好是开源的)框架或库允许将发布/订阅模式应用于 Web 应用程序?
服务器端技术可能采用以下任何一种语言:C、C++、PHP、Python、Ruby。
我在 Linux Ubuntu 10.0.4 上运行
看看 pubsubhubbub 协议:http ://en.wikipedia.org/wiki/PubSubHubbub
如果您事先知道,您将有很多订阅者(人/应用程序)想要关于某个主题的通知,而另一方面,您将很少有不同的主题考虑拉技术。
RSS、Atom 虽然使用了 pull,但还是相当成功的。原因:不需要在订阅者的服务器上进行管理,以检测谁不再感兴趣(客户端长时间离线)或具有将所有数据发送给订阅者的机制。使用推送,你需要在服务器上做很少的事情,而客户端每次只会拉少量数据。
拉取费用稍微多一点,无论如何都很便宜,但它可以为您节省大量的 CPU 和软件维护费用,这是相当昂贵的。