【问题标题】:Working with microservices. Hibernate or Scripts使用微服务。休眠或脚本
【发布时间】:2018-11-20 22:30:27
【问题描述】:

在使用微服务时,创建数据库和关系管理的最佳方法是什么?休眠或脚本,因为我认为创建数据库不应该是微服务的责任

【问题讨论】:

  • 一般来说,无论使用脚本还是 Hibernate,数据库创建都是一次性任务。它与微服务或任何其他应用程序实现模式无关。但是,如何进行仍然是实现设计者的决定。
  • 不同意这个@Vadim,i这不是一次性任务,架构会像应用程序一样随着时间而变化。
  • @Ubercool 你知道我的意思...不是字面上的“一次性”,但绝对不是服务/微服务的运行时任务。

标签: java database hibernate microservices


【解决方案1】:

正如@Vadim 在评论中已经指出的那样,最终决定使用什么是设计人员或开发人员的工作。

我的两分钱经验,从长远来看,使用模式生成脚本总是很好,并且有很多可用的开源库。 例如在java中我们有LiquibaseFlyway

我这么说的原因是,从长远来看,您的数据库会发生很多变化。 Hibernate 可以轻松处理创建和修改表和列更改,但有时,例如当您添加新列时,您可能希望填充您可能需要编写自定义 sql 的现有记录。

同样,您可能会不时地从后端更新记录,而这使用 hibernate 很难实现。

我观察到数据库创建通常是预部署脚本的一部分,并且模式生成发生在应用程序启动期间。

我的建议是使用一些架构生成工具进行架构迁移,并使用休眠进行架构验证,以便两者保持同步。

【讨论】:

  • 谢谢!只是想了解最佳做法。
猜你喜欢
  • 2019-08-23
  • 2011-09-25
  • 1970-01-01
  • 1970-01-01
  • 2015-01-08
  • 1970-01-01
  • 2012-04-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多