【问题标题】:Play Framework Application and embedded Database packagingPlay Framework 应用程序和嵌入式数据库打包
【发布时间】:2018-12-29 07:19:46
【问题描述】:

我使用 Play Framework 实现了一个服务器应用程序。 我使用 SBT Native Packager 为不同的操作系统(Linux、Windows、Mac OS X)构建了本机软件包。
此应用程序需要 NoSQL 数据库。特别是,我正在使用 MongoDB。有没有办法在我的本机包中嵌入 MongoDB 二进制/包?这是最佳做法吗?或者您是否建议使用两个不同的包安装 MongoDB 和我的 Play 应用程序?
如果无法/建议将 MongoDB 嵌入到一个包中,您是否建议使用另一个 DBMS(例如 Nitrite Database)?谢谢

【问题讨论】:

    标签: mongodb playframework packaging embedded-database sbt-native-packager


    【解决方案1】:

    这并不是真正的最佳做法。 Play 嵌入了 H2 内存数据库,但这仅用于开发(因为它也比读/写磁盘更快)。

    您确实希望您的 Mongo(或您决定使用的任何其他数据存储)实例在不同的进程中运行,并与您的 Play 应用程序分开打包、部署、停止和启动。

    您可能会弄清楚如何将其与您的 Play 应用程序打包,然后在应用程序启动期间运行一些脚本来设置数据库并加载 -dbpath 中的任何现有数据,即。每当您重新部署/重新启动应用程序时。但是,每次重新部署代码更改时,您都必须停止/重新部署 Mongo 二进制文件。您可能会在一年内多次更新您的应用程序,但您不太可能希望经常更新您的 Mongo 二进制文件。我可以继续,但不要这样做。最佳做法是与应用程序分开管理数据存储。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-10
      • 1970-01-01
      • 2020-01-23
      • 2010-09-22
      • 1970-01-01
      相关资源
      最近更新 更多