我有几个问题可能对其他人来说很容易,但我不能理解。
在开发“生产级”全栈web应用程序(node.js/react/webpack)时,
1)在哪里设置数据库?(在开发时,我使用的是在本地主机上运行的apache couchdb,但在部署时,云数据库(Cloudant)是唯一的解决方案吗?还是我错过了什么?)
2)是否建议将我的服务器(node.js)部署到数字海洋/aws/heroku,并在其他地方建立第三方数据库?(在我的例子中,我必须使用数字海洋/阿里云(中文Web Service),但他们似乎没有couchDB附带的数据库包)-生产级应用程序的实际解决方案是什么?
3)如果云数据库是可行的解决方案,如果CouchDB在中国没有数据库存储中心,该怎么办?是否有云数据库存储可以通用地保存所有noSQL数据,而不管您的数据库类型是什么?(mongoDB、couchDB等)
4) AWS/Heroku提供了附加组件,您可以将云数据库连接到我的应用程序,这是否会加快我的应用程序的速度?对于数字海洋,它显示了关于setting up CouchDB with their service的文章,但这是否意味着数据库将可供我的用户访问?还是仅仅出于开发目的?
5)在我的情况下,“码头”在哪里以及如何发挥作用?
由衷地,
发布于 2017-08-23 05:44:23
我不能说是CouchDB,但我已经使用他们的RDS数据库(MySQL)在亚马逊网络服务上托管了多个web应用程序。您选择的服务(AWS/DO/Heroku)取决于您的应用程序和您的要求(定价等)。
我不认为亚马逊网络服务有一个用于MongoDB的包,但是有一个第三方服务MongoLabs,它可以托管MongoDB数据库,我打赌也会有一些用于CouchDB的。
或者,如果你找不到第三方主机,可以考虑在你的服务器上安装数据库。在这种情况下,从DO或AWS获得VPS并自行设置可能是一种选择。你在最后一段中提到的链接在这里会对你有所帮助。是的,如果您使用它并让节点连接到它,您可以像使用任何其他基于云的数据库一样使用它,只是它将在您的服务器上。
我还没有用过Docker,所以我不能说它是否以及如何能有所帮助
更新:(回复评论)
VPS是云中的服务器。您没有在本地计算机上设置数据库,没有人可以访问该数据库。您在VPS上(在云中)设置了数据库,然后每个人都可以访问它。
VPS就像你在云中自己的服务器(ubuntu/fedora)的干净副本,所以你几乎可以在上面做任何事情,就像你的本地计算机一样。所以基本上你的数据库也会在云中。
实际上,有两种方法可以做到这一点。
发布于 2017-08-24 17:48:31
为了回答你的部分问题...如果您在Digital Ocean (或亚马逊网络服务、Azure、Google Cloud等)上设置了CouchDB服务器,那么它将提供给您的生产用户,而不仅仅是您。当然,您需要设置安全/防火墙来限制谁可以访问您的服务器。
Cloudant将CouchDb作为服务提供,换句话说,您不必安装软件或管理服务器。
通过Digital Ocean/AWS/Azure/Google,您可以管理虚拟服务器和其上的数据库/其他软件。您可以在这些服务中的任何一个上安装CouchDb,如果愿意,还可以在同一台虚拟服务器上同时安装NodeJS和CouchDb。
Bitnami有a CouchDb package,您可以使用它将CouchDb部署到几个主要的托管公司上,这使得安装过程变得更容易。
我看到AWS和Azure在中国有数据中心,但据我所知,目前Digital Ocean还没有。我希望这能帮到你
https://stackoverflow.com/questions/45827267
复制相似问题