用于第三方 API 调用的 Web 应用体系结构
Web app architecture for third party API calls
我正在构建一个简单的搜索引擎,它将用户提交的搜索查询作为输入并输出适当的搜索结果列表。 搜索查询最终会发送到第三方 API,该 API 会完成生成搜索结果的繁重工作。
有两种方法可以处理此工作流:
-
我的服务器接受用户请求,查询第三方API,并将结果返回给用户
或
-
将此责任转移到客户端;客户端直接查询第三方 API。
在这两种方法之间进行选择时有哪些注意事项?
使用选项 #1 具有一些优势,例如:
- 一个视图只有一个 API。它为您的架构带来了一些清晰度。
- 您可能有很多页面/窗口/任何东西使用相同的搜索 API。如果第三方 API 更改或移动到另一个域,或者执行某些操作导致您更改代码,则只能在服务器上修复一个 API 方法,而不是修复所有客户端。
- 您可以使用搜索查询执行一些其他更改,例如在第三方搜索引擎无法自行翻译时进行翻译。从形式上讲,您可以实现一些额外的逻辑。
使用选项 #2 可减轻服务器的负担。
相关文章:
- 在Web应用程序中使用Highcharts javascript
- 在web应用程序中的新搜索中重新加载搜索结果(不带jQuery)
- Web应用程序,将成员状态更新为其他成员
- 同一文本框中的验证程序CPF e CNPJ(ASP.NET web应用程序)
- 使用Ember的Web应用程序架构.动画逻辑应该放在哪里
- 如何使用默认的网络摄像头拍摄照片并将其保存在我的c#.net web应用程序中
- c#web应用程序中的条形码打印
- 使用javascript为web应用程序自定义键盘快捷键
- 使用angularjs和node.js时的Web应用程序文件夹结构
- PhpWindows 8.1版本上的Javascript web应用程序
- 是否有任何开源web应用程序具有良好的QUnit(或JSUnit)测试用例
- Project和作为web应用程序发布的多个doGet()脚本文件——需要澄清
- 如何获取使用我们的脚本或web应用程序的网站名称
- 没有框架/DLL的VS Web应用程序项目
- 正确传输和保护用户'web应用程序的密码
- 检查Progressive web应用程序中的网络更改
- 一个Web应用程序上有两个Java脚本
- JavaScript onScroll在谷歌应用程序脚本web应用程序中不起作用
- 家谱web应用程序的“家谱”视图
- 如何更改web应用程序的语言.有没有这样的api