令人惊讶的是,我已经能够在不知道这个基本问题的答案的情况下开发相当多的网络应用程序:
当我构建一个使用数据库的网站时,该数据库是否存储在我的托管服务提供商的基础架构中?
我了解这可能因情况而异(数据库类型、托管服务提供商等)。因此,例如,在我的 Meteor 应用程序中,我的 MongoDB(或 Meteor.Collection)是存储在 Meteor 的基础架构中,还是远程存储在 Mongo 的某个地方?
谢谢!
如果您使用,meteor deploy
您的数据库通过 MongoHQ(请参阅http://weusethat.com/meteor/)在外部托管,最终在 Amazon 的 EC2 云上。
如果您使用meteor run
它,它就托管在您使用的同一台机器meteor run
上(这使得开发变得容易,但对生产来说不是那么好)。
如果您meteor bundle
用来制作自己的流星包,则需要在某处运行自己的 mongodb 数据库,并将其与您的流星实例和MONGO_URL
环境变量链接起来。请参阅README
您的 tgz 捆绑应用程序中的文件以了解更多信息。
因此,您可以按照自己真正想要的方式进行制作。它可以在您自己的托管服务提供商上运行,也可以在带有捆绑应用程序的外部托管服务提供商上运行(例如 MongoHQ)。
通常,数据库将位于托管服务提供商的防火墙和其基础架构的一部分之后。这是出于安全/性能原因的常用方法。但是,没有技术限制可以阻止数据库托管在完全不同的地方。一切都与权限有关,因此可以使用一个提供商托管您的网站,并使用另一个提供商托管数据库。