想象一下,有多个RESTFUL服务器存在不同资源的应用程序。REST资源查找服务
当客户端发出资源请求时,当前会进行阻止调用,以便资源请求从服务器中继到服务器,直到在某个服务器上找到该资源为止。这非常耗时。现在所有的客户端都运行在受限制的环境中,服务器功能适中。
有没有办法做REST资源查找服务以避免长时间阻塞的调用?
想象一下,有多个RESTFUL服务器存在不同资源的应用程序。REST资源查找服务
当客户端发出资源请求时,当前会进行阻止调用,以便资源请求从服务器中继到服务器,直到在某个服务器上找到该资源为止。这非常耗时。现在所有的客户端都运行在受限制的环境中,服务器功能适中。
有没有办法做REST资源查找服务以避免长时间阻塞的调用?
客户应该知道在哪里寻找资源而不需要在欢快的流程中进行中继。因此构建在客户端获取资源的逻辑。
解决方案1: 客户A拥有所有的资源服务器的列表,并有一个目录知道哪些资源是哪个服务器上。
解决方案2: 客户端A不知道任何内容,因此它会查询代理服务器B进行查找。该服务器B具有将特定资源映射到特定服务器的目录。
服务器B将根据资源查询资源服务器C/D/E/F等。他们将到服务器响应B.
服务器B发送请求的资源给客户A
更新1:既然你没有对你的客户的控制,去与解决方案2其中B充当客户端与您的资源服务器的关系。如前所述,要么使用字典,其中每个特定的资源指向特定的服务器或使用consistent hashing。由于我不知道你使用的是什么语言,我不知道是否有现成的图书馆供你使用。但有so many already,所以它可能会满足你的需求。
我想准确地构建“看哪里”服务。 – sashank
更新答案。你是这个意思吗? –
解决方案1不适合我,因为客户的资源非常非常紧张。解决方案2是我正在寻找的,但是我想要的是,如果有可用的东西已经可以在货架上使用。在DHT上为REST构建的东西 – sashank