【问题标题】:Separate ports for app server and rest API server (Node)应用服务器和 REST API 服务器(节点)的单独端口
【发布时间】:2016-07-21 17:59:41
【问题描述】:

使用单独的端口来为您的应用程序(渲染页面)和 REST API 服务器提供服务有什么特别的优点/缺点吗?我正在构建一个 React、Node/Express 应用程序,并查看作者在端口 3030 上提供 API 和在端口 3000 上提供应用程序的示例。这似乎可以将两者解耦,这对测试很有好处。但是在其他方面在 Node/Express 应用程序的不同端口上提供应用程序和 API 是否有任何明显的优势?

【问题讨论】:

    标签: node.js rest express


    【解决方案1】:

    将您的 API 与您的渲染服务器分开可以通过分离您的逻辑来更有效地处理请求。

    Express 不必遍历页面渲染端点的所有路由来到达 API 请求的回调,也不必遍历 API 端点的所有路由来到达回调页面渲染请求。

    【讨论】:

    • 我的理解是 Node/Express 是事件驱动的(因此具有超高性能),因此“迭代”路由不是问题......
    • @Himmel 是的,它是事件驱动的,这意味着每个客户端请求都会向服务器侦听器发出一个事件。但是,它需要遍历每个app.METHOD() 请求以匹配请求对象的请求路径并确定要调用哪些回调。这就是迭代发生的地方。
    • 当然。但是,如果这是唯一的原因,那么如果我只有一个非 api 路由(服务于 index.html 的app.get()),那么将两者分开似乎是值得的。跨度>
    • @Himmel 那么你是对的。在那种情况下,这不值得你花时间,但你问了一个笼统的问题,我给出了笼统的答案。
    • 我做到了,感谢您的回复!只是想跟进以确保我的想法是有道理的。
    猜你喜欢
    • 1970-01-01
    • 2013-10-31
    • 2017-08-15
    • 2017-03-20
    • 1970-01-01
    • 2016-12-24
    • 2020-08-09
    • 1970-01-01
    • 2019-01-30
    相关资源
    最近更新 更多