如何为一个NodeJS / REST应用程序运行不同的服务器/位置

时间:2018-09-18 08:13:31

标签: node.js dns network-programming cdn cloud-hosting

我想知道为NodeJS应用程序+ REST api在不同位置部署不同服务器的最佳实践是什么。

我了解使用CDN将静态资产交付给各个地理位置的客户端的好处,但是等同于从各个服务器位置提供动态SSR(服务器端呈现)页面和REST api调用是等效的根据客户的地理位置。

我的第一个尝试是:

  • 在全球多个不同的VPS上部署NodeJS App
  • 同步数据库(在我的情况下为MongoDB),以便每个不同的VPS实例都在本地绘制在同一数据库上。
  • 在我的域名A记录上,添加运行该应用程序的所有不同VPS的IP地址(假设在不同的大洲/地区为4-5)
  • 那么,希望客户端能够自动连接到最接近他们的应用程序实例吗?

够了吗?还是有完全不同的更好方法来做到这一点? 客户端的DNS服务会自动选择最接近他们的IP地址吗?还是不管距离多远,他们都会选择列表中的第一个IP?

注意:我认为我应该为此使用负载均衡器,但是从我的托管服务提供商(Digital Ocean)来看,负载均衡器似乎是人们在一个位置/区域连接的东西,并且然后将它们指向同一区域中的不同服务器。我希望人们能够根据自己的位置连接到不同区域的不同服务器,以获得最快/最流畅的体验。 (我的问题不是平衡服务器上的负载,而是平衡与客户端的地理位置。我的服务器没有过载,我只想在客户端处于任何位置时都将它们关闭。)

0 个答案:

没有答案