【问题标题】:Azure hosting of react js and node js applicationReact js 和 node js 应用程序的 Azure 托管
【发布时间】:2020-08-11 12:12:36
【问题描述】:

我将 React JS 作为我的客户端框架,Node JS express 是我在家庭项目中使用 SQL 数据库的 API 后端服务。该应用程序在我的机器上本地运行,我想在 azure 中部署该应用程序。我不确定我是否必须采用 2 个应用服务实例来管理我的前端和后端,或者采用 linux VM 并自己管理部署,就像我现在在本地使用 nginx 和 pm2 所做的那样。

考虑到未来的可扩展性,如何在 Azure 中部署以及我必须将哪些内容作为 Azure 组件?

【问题讨论】:

    标签: reactjs azure azure-sql-database azure-web-app-service nodejs-server


    【解决方案1】:

    我假设您将免费层用于学习目的,因为您说它是一个家庭项目?

    为了可扩展性和可用性,我会使用 3 层架构,第一个轮胎用于计算内容(nodejs 应用程序),部署在一个自动扩展组中,该组中至少有两个实例都在 Azure 负载均衡器后面

    第二层是数据库,我会为此选择 Azure 数据库

    最后,是你的 React 应用程序,如果它是静态生成的应用程序(如 Gatsby),我会选择在 Azure 存储中托管静态网站,否则最好将 React 服务器放在与 Nodejs 相同的 Linux 实例中应用程序,并在负载均衡器中使用路径重定向来定位应用程序

    PS:这将根据负载而花费大量资金,但您不必关心可伸缩性,也无需再管理数据库。

    【讨论】:

    • 感谢您这么快回复。我的反应应用程序有来自 db 的数据,它不是静态的和特定于用户角色的。那么我应该为我的 nodejs 和 reactjs 使用应用服务或虚拟机吗?
    • 是的,您可以使用相同的 VM 进行节点和反应,并使用 ngnix 基于 url 的反向代理查询,例如 clien.site.com 和 api.site.com,dokku 可以帮助您管理这个在虚拟机级别,然后你把所有东西放在一个自动缩放组后面和 LB
    • dokku.viewdocs.io/dokku 非常易于使用,将帮助您节省部署自己的解决方案的时间(为您管理 ngnix 和容器,以及在您推送新版本应用程序时 0 停机时间)跨度>
    猜你喜欢
    • 2020-09-17
    • 2013-10-31
    • 2021-11-28
    • 2018-06-23
    • 1970-01-01
    • 2019-05-24
    • 1970-01-01
    • 1970-01-01
    • 2023-02-02
    相关资源
    最近更新 更多