如何在基于REST的Web服务中实现异步请求响应

问题描述:

我有一个基于REST的Web服务系统。我需要在这里找到一种支持发布/订阅模式的方法。正如你所知道的REST客户端和服务器之间的通信是HTTP协议。我在后端使用apache(PHP)web服务器来服务所有REST请求。问题是如何使用PHP或任何(在Web服务器端)来支持这种Pub/Sub模型。一种典型的情况是:如何在基于REST的Web服务中实现异步请求响应

1)客户端订阅对象更改(GET/config/object /?type = async) 2)客户端不会阻止此请求,因为它是异步调用。 3)服务器接受订阅并等待事件。 4)当事件发生时,服务器发布具有所需数据的客户端。

我基本上需要知道如何实现上述所有这四个步骤。

您可能正在寻找类似PubSubHubbub通讯 -

http://code.google.com/apis/pubsubhubbub/

让PubSub的落实枢纽你意味着你不需要阻塞调用服务器。

他们已经使用不同的语言实现了示例订阅服务器和发布服务器。

如果还没有,你应该阅读Roy Fielding对PubSub的各种方法。 http://roy.gbiv.com/untangled/2008/paper-tigers-and-hidden-dragons

+0

我已阅读此内容并无用处。他们只讨论了一些设计问题和如何表示对象。我希望实施这种沟通机制。就像事件发生时如何从服务器通知客户端一样。 – user422377 2010-08-18 05:30:13