【问题标题】:What latency can I expect when using MongoHQ from an external web server从外部 Web 服务器使用 MongoHQ 时,我可以期待什么延迟
【发布时间】:2011-07-01 16:52:10
【问题描述】:

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

延迟是否可以接受? 如何将 Web 服务器与托管数据库服务器放在一起(通过 Azure 等地理位置)以减少延迟? 有没有办法减轻从 Web 服务器调用托管数据库服务器(通过私有 IP 或其他方式)的带宽成本? 是否有任何提供该软件包的网络托管解决方案(应用托管和托管数据库)

【问题讨论】:

    标签: mongodb azure mlab mongohq


    【解决方案1】:

    我刚刚查看了 MongoHQ - 我看不到指定特定数据中心的方法。即使可以(也许我错过了那个细节),这些都是 AWS 区域,它们与 Windows Azure 不在同一个数据中心。您必须对哪个 AWS 区域最接近(例如,Windows Azure 的 North Central 数据中心)做出最佳猜测。

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

    我在 MongoSV 会议上[演示了使用 MongoDB 副本集][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 的链接。

    【讨论】:

    • 这很棒,听起来 Azure 对这项技术来说是一条昂贵的路线。那么对于可以水平扩展前端和数据库的 mongo/web 部署(不一定是 Azure)来说,理想的、具有成本效益的架构是什么?我在想可能是虚拟化服务器嘿?这对前端的负载平衡有何影响?
    猜你喜欢
    • 2014-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-07
    • 1970-01-01
    • 2017-10-07
    相关资源
    最近更新 更多