我正在构建一个简单的搜索引擎,它将用户提交的搜索查询作为输入并输出适当的搜索结果列表。搜索查询最终会发送到第三方 API,该 API 负责生成搜索结果的繁重工作。
我可以通过两种方式处理此工作流程:
我的服务器接受用户请求,查询第三方 API,并将结果返回给用户
或
将此责任转移给客户端;客户端直接查询第三方API。
在这两种方法之间进行选择时有哪些考虑因素?
最佳答案
使用选项 #1 可为您带来一些优势,例如:
- 您有一个 API 用于一个 View 。它使您的架构更加清晰。
- 您可能有很多页面/窗口/任何使用相同搜索 API 的内容。如果第三方 API 发生更改或移动到另一个域,或者执行某些操作导致您更改代码,您可以仅修复服务器上的一个 API 方法,而不是修复所有客户端。
- 您可以对搜索查询进行一些额外的更改,例如,如果第三方搜索引擎无法自行翻译,则可以进行翻译。形式上,您可以实现一些额外的逻辑。
使用选项 #2 可以减轻服务器的负担。
关于javascript - 用于第三方 API 调用的 Web 应用程序架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27681116/