【发布时间】:2014-01-30 17:32:23
【问题描述】:
想象一个应用程序,其中存在多个具有不同资源的 RESTFUL 服务器。
当客户端发出资源请求时,当前会进行阻塞调用,以便将资源请求从服务器中继到服务器,直到在某个服务器上找到资源。这是非常耗时的。现在所有的客户端都在受限的环境中运行,服务器的功能中等。
有没有办法进行 REST 资源查找服务以避免长时间阻塞调用?
【问题讨论】:
想象一个应用程序,其中存在多个具有不同资源的 RESTFUL 服务器。
当客户端发出资源请求时,当前会进行阻塞调用,以便将资源请求从服务器中继到服务器,直到在某个服务器上找到资源。这是非常耗时的。现在所有的客户端都在受限的环境中运行,服务器的功能中等。
有没有办法进行 REST 资源查找服务以避免长时间阻塞调用?
【问题讨论】:
客户端应该知道在哪里寻找资源,而不是在一个快乐的流程中中继。因此,构建在客户端中获取资源的逻辑。
解决方案 1: 客户端 A 有一个所有资源服务器的列表,并且有一个目录可以知道哪个资源在哪个服务器上。
解决方案 2: 客户端 A 什么都不知道,因此它将查询进行查找的代理服务器 B。此服务器 B 有一个目录,用于将特定资源映射到特定服务器。
然后服务器 B 将根据资源查询资源服务器 C/D/E/F 等。他们将响应服务器 B。
服务器 B 将请求的资源发送给客户端 A
更新 1: 由于您无法控制您的客户端,请使用解决方案 2,其中 B 充当与您的资源服务器相关的客户端。如前所述,要么使用每个特定资源指向特定服务器的字典,要么使用consistent hashing。由于我不知道您使用的是什么语言,我不知道是否有现成的库供您使用。但是有 so many already,所以它可能会满足您的需求。
【讨论】: