从外部Web服务器使用MongoHQ时,我可以期待什么延迟

时间:2011-02-22 02:40:26

标签: mongodb azure mlab mongohq

有没有人有关于使用托管数据库解决方案(特别是MongoDB)和Web服务器的建议。具体来说:

延迟是否可以接受? 如何将Web服务器与托管数据库服务器共同定位(通过Azure等地理位置)以减少延迟? 有没有办法减轻从Web服务器到托管数据库服务器的呼叫带来的带宽成本(通过私有IP或其他?) 是否有任何网络托管解决方案提供包(应用程序托管和托管数据库)

1 个答案:

答案 0 :(得分:3)

我只看了MongoHQ - 我认为无法指定特定的数据中心。即使您可以(可能我错过了这个细节),这些也是AWS区域,它们与Windows Azure不在同一数据中心。您必须最好地猜测哪个AWS区域最接近,例如,Windows Azure的North Central数据中心。

如果您想减少带宽/延迟,您可以以工作者角色托管MongoDB,甚至托管您网站的Web角色,这将减少每月实例成本。请记住,如果您在Windows Azure中托管,则需要准备扩展,因此独立的MongoDB数据库是不够的。好吧,您可以将MongoDB置于其自己的辅助角色中,将您的数据库存储在云驱动器(在blob存储中)以保持持久性,并确保您从未将实例计数提高到1.只运行一个实例,当工作者角色重新启动以进行安全修补程序安装,或者底层硬件崩溃时,您可能会定期中断(您将在很短的时间内备份​​,但定期数据库脱机时段)。

我在MongoSV会议上[使用MongoDB replicasets演示] [1]。唯一的问题是你需要3个实例来完成这个任务。如果您通常运行3个Web角色实例,则可以依赖这些实例。否则,您需要在一组单独的辅助角色中管理此配置。与MongoHQ相比,您的每月费用会上涨(但您的网络角色和MongoDB之间不会收取带宽,您的延迟极低,并且您可以轻松地将数据库扩展到1TB,超出MongoHQ 2GB限制。

还有一件事:如果您有几个使用MongoDB的网站,您可以在Windows Azure中创建一个MongoDB托管服务(如上所述),然后从您的所有网站部署中访问它。当您转移到多租户MongoDB数据库时,这将为您提供规模经济,降低成本。

编辑2013年6月16日这是一个非常古老,过时的答案。一些更新:

  • MongoHQ和MongoLab都提供托管的MongoDB。 MongoHQ在美国东部数据中心提供免费(512MB)和共享付费产品。 MongoLab免费提供(美国东部和美国西部数据中心的500MB和共享付费产品。
  • Windows Azure虚拟机现已投入生产,允许您在任何数据中心轻松部署专用的独立或副本集部署(以及为端点安全配置ACL)。

编辑2013年7月15日 MongoLab现在正在生产8GB副本集。我在博客上写了here,它也有一个链接到MongoLab的post