【问题标题】:One app with many servers一个应用多台服务器
【发布时间】:2017-06-07 14:10:20
【问题描述】:

假设我有一个 Angular 2 应用程序。我需要通过 REST API 从许多页面获取数据。我还有与数据库通信的节点 js 服务器。我应该如何从 Angular 2 应用程序调用 API?我应该直接从 Angular 2 应用程序还是通过节点 js 服务器调用 API?选项 1 更快,但选项 2 让我可以控制要发送到前端的内容。哪个选项更好?

选项 1:

    Angular 2 app
    /     \      \
   /       \      ....
node      API 1   API N
server

选项 2:

Angular 2 app
     |
     |
 node server
 /       \
/    ...  \
API 1      API N

问候

【问题讨论】:

    标签: rest angular http frontend backend


    【解决方案1】:

    我看不出这与角度有何直接关系。这与问题更相关:您是否要将节点服务器用作 HTTP 请求的 only 入口点。您的客户端应用程序只会通过服务将 http 请求发送到不同的端点,它并不关心它背后的 1、2 或 3 个 Web api

    【讨论】:

      【解决方案2】:

      我个人会使用节点服务器作为代理:)

      原因:

      • 如果你有后端,你应该使用它
      • 如果发生变化,即 api 的 url,您可以在服务器上进行更改
      • 您将一切都集中在一个地方
      • 您的前端更小更简单
      • 您遵循干净的 MVC 架构
      • 最后,但我认为这很重要:您跟踪谁,何时调用了哪个 api。这对于安全或统计非常有用

      不这样做的原因:

      • 您的后端变得有点复杂
      • 你可能有一点性能优势

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-08-22
        • 2019-10-29
        • 1970-01-01
        • 2023-04-08
        • 2015-07-12
        • 1970-01-01
        • 2014-04-20
        • 2015-03-08
        相关资源
        最近更新 更多