【问题标题】:Can MongoDB be hosted in-process?MongoDB 可以在进程内托管吗?
【发布时间】:2011-01-13 16:19:16
【问题描述】:

目前,我阅读的所有内容都表明您必须将 MongoDB 作为单独的进程/服务运行。有没有办法在进程中托管 MongoDB?如果不是现在,他们是否有实施此类功能的已知计划?

【问题讨论】:

  • 我很想知道您为什么要在进程中运行 MongoDB...您的用例是什么?
  • 您能澄清一下“托管在进程中”的含义吗?
  • 未托管在单独的进程边界 - 换句话说,我想在使用 MongoDB 作为其数据存储的应用程序内托管 MongoDB 服务。
  • 明显的用例是一个系统,其中有一个访问数据存储的进程,并且希望消除架构中的网络开销、延迟和/或复杂性。

标签: hosting mongodb


【解决方案1】:

另一个 Stack Overflow 问题的答案与此问题相关。

Embedded MongoDB when running integration tests

具体来说,它提到了一个名为 Fongo 的用于 JVM 的内存 MongoDB。

看起来 Fongo 主要用于集成测试和/或学习。 它可能无法处理所有 Mongo 用例,但值得一看。

https://github.com/fakemongo/fongo

【讨论】:

    【解决方案2】:

    您可以使用 Embedded MongoDB 库,尽管它是为单元测试目的而设计的。

    【讨论】:

    • 它不运行嵌入的 mongo。它作为一个单独的进程运行。
    【解决方案3】:

    根据我使用 MongoDB 的经验以及我在http://jira.mongodb.org/browse/SERVER 浏览的问题跟踪票证,我不知道有任何方法可以在进程中托管 MongoDB。我也没有发现未来计划这样做的证据。

    我建议在 mongodb-user 邮件列表中提出这个问题:http://groups.google.com/group/mongodb-user

    【讨论】:

      【解决方案4】:

      MongoDB 已获得 GNU AGPL 许可,因此如果您在应用程序中包含(链接),那么该应用程序的源代码也将获得 GNU AGPL 许可。您当然可以在启动时从您的应用程序启动 MongoDB,并在应用程序停止时再次终止 MongoDB。

      【讨论】:

        猜你喜欢
        • 2020-12-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-04
        • 2023-01-07
        • 1970-01-01
        • 2011-03-04
        • 1970-01-01
        相关资源
        最近更新 更多