服务器端推送的可扩展解决方案?

时间:2010-07-31 11:50:21

标签: php python linux server-push publish-subscribe

我想实现一种机制,该机制将提供RESTful API,允许客户端在服务器上注册对主题的兴趣,并在注册兴趣后从服务器接收异步通知。在企业(消息传递)体系结构中,这称为发布/订阅'模式'。

对于桌面应用程序,这很容易实现 - 但是对于Web应用程序,它被证明更加困难。

是否有一个(最好是开源)框架或库,允许将发布/订阅模式应用于Web应用程序?。

服务器端技术可以使用以下任何一种语言:C,C ++,PHP,Python,Ruby。

我在Linux Ubuntu 10.0.4上运行

3 个答案:

答案 0 :(得分:3)

查看pubsubhubbub协议:http://en.wikipedia.org/wiki/PubSubHubbub

以下是项目的来源:http://code.google.com/p/pubsubhubbub/

答案 1 :(得分:2)

如果你事先知道你会有很多订阅者(人/应用程序)需要关于某个主题的通知,而另一方面你几乎没有不同的主题考虑拉技术。

RSS,即使他们使用pull,Atom也非常成功。原因是:无需在订阅者的服务器上进行管理,检测谁不再感兴趣(客户端长时间离线)或者有机制将所有数据发送给订阅者。 使用push,您需要在服务器上做很少的事情,而客户端每次只会提取少量数据。

虽然它可以节省大量的CPU和软件维护费用,而且价格也很便宜,但是成本稍高一些,而且价格便宜。

答案 2 :(得分:0)

我建议您查看STOMP协议及其python客户端(我使用stomp.py)。这应该适合你所有的需要。