Azure上的MongoDB:VM或Worker角色?

时间:2013-04-18 18:29:00

标签: .net mongodb azure azure-worker-roles azure-virtual-machine

我有兴趣在Azure上托管mongoDB。我相信我有几个选项来确切地说我如何在Azure上托管数据库:虚拟机或工作者角色。每个选项的优缺点是什么?更具体地说,每种方法在维护,配置,可扩展性,易于使用.net和成本方面有何不同。以后可以轻松切换到其他选项吗?

我正在创建的内容的一些细节(虽然我很想听听基于不同情况的选项的一般优点/缺点):Azure网站将访问该数据库。该网站将是ASP.net MVC Web API站点休息服务。我不希望流量到服务,因此db,每分钟超过100个资源请求,至少开始。数据库相对较小,在可预见的未来远低于10,000条记录。

1 个答案:

答案 0 :(得分:11)

嗯...... MongoDB在虚拟机中更容易设置,因为你可以准确地配置你想要的东西,而无需处理启动脚本来设置。

由于您将在Azure网站上拥有自己的网站,因此您可以公开公开端点,也可以在网站和虚拟机之间创建虚拟网络(现在支持)。

如果您正在部署独立服务器,则虚拟机和辅助角色部署之间的区别并不重要。但是......一旦你进入副本集和分片,那么你就会发现虚拟机更易于使用。如果您想运行Linux而不是Windows,那么除了使用虚拟机之外别无选择。

关于从.net处理MongoDB的简易性:这根本不重要。

按比例缩放:您通常不会更改VM大小或VM数量。对于任一设置,VM大小更改应该是相同的体验。向虚拟机扩展到更多虚拟机(例如,扩展副本集)可能更易于管理,因为您将完全控制每个节点。在扩展 in (删除节点)时,这可能更为重要,因为工作者角色实例缩放不允许您指定要删除的实例。

2015年7月编辑 - 这个答案是2岁。我清理了一些东西。快速更新:

  • VM大小明显大于前面提到的(高达448GB 32核,MongoDB很多),以及一些VM大小的SSD附加存储
  • 除了手动配置之外,新的Azure资源管理器还可用于在虚拟机上自动化群集启动。

最后一个想法:当您在思考这些选项时,您可能会考虑使用托管的MongoDB解决方案,例如MongoLab。您可以通过Azure Store或直接通过MongoLab的网站设置免费(500MB)或付费数据库。设置只需要一分钟......