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