2014-01-29 143 views
0

想象一下,有多个RESTFUL服务器存在不同资源的应用程序。REST资源查找服务

当客户端发出资源请求时,当前会进行阻止调用,以便资源请求从服务器中继到服务器,直到在某个服务器上找到该资源为止。这非常耗时。现在所有的客户端都运行在受限制的环境中,服务器功能适中。

有没有办法做REST资源查找服务以避免长时间阻塞的调用?

回答

0

客户应该知道在哪里寻找资源而不需要在欢快的流程中进行中继。因此构建在客户端获取资源的逻辑。

解决方案1: 客户A拥有所有的资源服务器的列表,并有一个目录知道哪些资源是哪个服务器上。

解决方案2: 客户端A不知道任何内容,因此它会查询代理服务器B进行查找。该服务器B具有将特定资源映射到特定服务器的目录。

服务器B将根据资源查询资源服务器C/D/E/F等。他们将到服务器响应B.

服务器B发送请求的资源给客户A

更新1:既然你没有对你的客户的控制,去与解决方案2其中B充当客户端与您的资源服务器的关系。如前所述,要么使用字典,其中每个特定的资源指向特定的服务器或使用consistent hashing。由于我不知道你使用的是什么语言,我不知道是否有现成的图书馆供你使用。但有so many already,所以它可能会满足你的需求。

+0

我想准确地构建“看哪里”服务。 – sashank

+0

更新答案。你是这个意思吗? –

+0

解决方案1不适合我,因为客户的资源非常非常紧张。解决方案2是我正在寻找的,但是我想要的是,如果有可用的东西已经可以在货架上使用。在DHT上为REST构建的东西 – sashank