0

我最近接手了一个项目,其中涉及 iOS 应用程序连接到 Restful Web 服务以发送和检索数据,我发现自己在服务器性能方面遇到了困难。

由于它是 RESTful,因此可以从不同的 URI 端点访问不同类型的数据。当用户第一次登录应用程序时(忽略注册部分),客户端必须下载该用户的所有数据。由于数据位于不同的端点,客户端向每个端点发出请求,导致向同一服务器发出许多请求以获取所有数据。

我的问题...这是一个健全的架构吗?服务器最终处理许多请求只是为了获取单个用户的数据。一个请求返回所有用户的数据不是更谨慎吗?服务器是 appengine,我正在尝试更有效地使用它的免费配额。

提前感谢您的任何见解!

4

2 回答 2

1

在不知道您的数据结构的情况下很难回答。

如果您在这 6-7 个请求中重新查询相同的实体,这是一个坏主意。如果您要查询不同的实体,则将其组合到一个查询中不会有显着差异。

拥有多个请求还可以让您的 UI “感觉”更具响应性,因为用户看到页面随着结果的出现而更新。对于单个请求,用户将只是等待整个请求完成。

听起来,创建该项目的人最初决定通过分离对不同类型对象的请求来保持 REST API 的简洁性。如果您想将所有与用户相关的对象统一到一个请求中,那可能是一种“更混乱”的架构。

虽然有多个请求确实有一些开销,但通常没什么大不了的。

于 2012-12-08T19:46:36.553 回答
0

请求时间限制为 60 秒。根据需要为单个“返回所有用户数据”请求完成的工作,这可能会起作用。

查看 Google App Engine 文档:
https ://developers.google.com/appengine/docs/java/runtime#The_Request_Timer

于 2012-12-07T18:30:11.587 回答