2013-04-16 53 views
1

我正在设计一个解析大文档(150-200k)并返回一些分析数据的Web服务。该文档的内容是敏感的,并且当前不会被后端持久化。此Web服务场景是REST不合适的实例吗?

对于无状态的REST Web服务,所有请求都是幂等的,这需要每个请求包含大文档有效载荷,这似乎不太理想。

对于这种情况,在初始文档发布后会话建立的情况下,有状态的替代方案是否更合适?客户可以使用内存中的文档向端点提出进一步的请求,这些端点可以提供不同的分析结果?

回答

2

您可以将其视为一个添加到文档存储服务上的REST界面。

文档暂时存储。它可能会持续10分钟或直到业主释放。文档存储服务返回一个允许访问文档的令牌。但是令牌在文档超时后过期。

然后,您只需要REST服务就该文档提出问题。每次调用都需要包含令牌,但可以无限期地重复并且仍然得到相同的响应。

您可能想要缓存有关每个文档的某些信息。这是一个性能问题。

您可能想要考虑如何对令牌进行加密,使其无法从“导线”上复制并被“坏人(TM)”使用。