移动应用程序:移动应用程序是进行单个还是并行两个请求?

3
我们在移动Android / iPhone应用中使用GooglePlaces来下载附近的商店。此外,我们还拥有数据库中的商店想要向用户展示。
目前,一旦我们的移动应用程序获取到位置信息,就会启动两个http请求,一个是向GooglePlaces发送的,另一个是向我们的服务器发送的。只要这两个请求都完成了,该应用程序就会构建一个组合列表并将其显示给用户。我们正在谈论总共约50 Kb的两个请求。
我们正在考虑只向我们的服务器发出一个请求。然后我们自己的服务器会向GooglePlaces发送请求,将两个列表合并,并将它们同时发送回移动客户端。优点是我们的移动应用程序只需要发出一个请求,但是当我们的服务器连接到GooglePlaces时可能会增加延迟。
对于我们来说,测试第二个选项可能需要整整一天时间。是否有其他人遇到类似的问题?你会推荐什么?
1个回答

3
这是一个权衡之举,我们曾经遇到过类似的问题——我们的应用程序进行了独立请求(不是针对googleplaces,而是其他API),最终我们转换为单一请求模型。对于我们来说,优势不仅在于减少应用程序请求次数。
以下是我们改变的最大原因:
1.导致我们更改的最大因素是我们使用的API发布了一个相对较短的通知更改。这要求我们更改代码并重新部署应用程序。尽管如此,仍有一些人没有更新,并发送支持请求,想知道为什么应用程序无法按预期工作。在单个请求模型中,我们能够避免这些更新(以及相关的支持问题)。当API中的上游数据提供者发生更改时,我们在服务器上处理向内部格式的转换。
2.与第1点相关,我们能够将其他数据源整合到现有模型中而无需更新应用程序。当我们找到适合现有模型的新数据源时,我们可以在不更新应用程序的情况下部署它们。
3.我们能够在服务器上缓存一些请求。你的请求可能太局限性了,需要检查是否允许缓存,但对我们来说,我们已经通过缓存结果来减轻了一些延迟。它还使我们在API故障期间优雅地降级。
4.我们能够在发送数据到设备之前对数据进行优化。我们在服务器上过滤出应用程序不使用的任何数据元素,并优化XML,使下载大小减少了20%-30%。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接