【问题标题】:Hosting NodeJS service application托管 NodeJS 服务应用程序
【发布时间】:2021-04-10 19:50:24
【问题描述】:
我想使用 NodeJS 构建一个服务。然而,这个问题更多的是建筑性质。假设我有 2 家公司拥有自己的网络安全。公司 A 有一个 SQL Server 实例,而公司 B 将托管 NodeJS 服务应用程序。为了获取数据,NodeJS 服务必须转到 A 公司的 SQL Server 实例。这是否被认为是“不好的做法”?如果是这样,有什么替代方案?需要注意的是,还可以选择从 AWS 连接到 SQL Server 实例。
【问题讨论】:
标签:
node.js
sql-server
amazon-web-services
aws-lambda
architecture
【解决方案1】:
从架构的角度来看,应用程序绝对不希望通过多个网络层(可能通过 Internet)访问数据库,原因有多种,例如:延迟开销、安全性(可能)、管理开销(如果数据库由另一家公司拥有)。
一般来说,DB 应该尽可能靠近应用,因为它通常是系统的主要瓶颈,并且在某些时候会影响应用的吞吐量。
但是,这里的正确答案取决于您的应用的要求。如果流量不是很大并且性能损失是可以接受的,那么您可以使用这种方法(它可能具有所有优点和缺点)
【解决方案2】:
理想情况下,您不应该这样做。您可以在应用程序网络上设置数据库的副本。要同步副本,您可以设置 VPN 连接。