![对应用程序和数据库使用不同的云主机/Mongo Atlas 是否会出现延迟?](https://linux22.com/image/707527/%E5%AF%B9%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E5%92%8C%E6%95%B0%E6%8D%AE%E5%BA%93%E4%BD%BF%E7%94%A8%E4%B8%8D%E5%90%8C%E7%9A%84%E4%BA%91%E4%B8%BB%E6%9C%BA%2FMongo%20Atlas%20%E6%98%AF%E5%90%A6%E4%BC%9A%E5%87%BA%E7%8E%B0%E5%BB%B6%E8%BF%9F%EF%BC%9F.png)
可以将 Web 应用程序和数据库服务器托管在不同的云提供商上吗?传统上,您确实需要在同一网络上托管两者 - 但我想知道,在现代网络中,这是否不那么必要。
我有一个托管在 Linode 上的 Web 应用程序 (Aurelia/ASP.Net Core),我需要添加一个 mongo db 服务器。我真的不想管理数据库服务器 - 所以更愿意使用云服务/PAAS,如 MongoAtlas 或 mLab 等,但我担心的是延迟。我希望如果我选择与托管我的 Linode 相同的国家/地区的数据中心,我可以使用其中任何一个。
我的应用程序应该可以接受非实时响应 - 但几秒钟的延迟就行不通了。
有人可以评论一下这方面的经历吗?
答案1
我可以告诉你我自己的经历。
我在 Azure 中托管了一个 Web 服务器,该服务器将数据存储到 AWS 中托管的 M10 MongoDB Atlas 实例中并从中检索数据。这两个实例都位于欧洲数据中心。这两个实例之间的通信延迟约为12 毫秒每个查询,无论查询类型如何。例如,如果我想检索 MongoDB 可以在 2ms 内找到的一些数据,则需要大约 12ms + 2ms 来完成查询。这对我来说是一个大问题,因为有时我想一个接一个地进行多个查询,而额外的 12ms 正在损害我的应用程序的性能。