首页 > 解决方案 > spring boot 一个数据库启动多个微服务

问题描述

我知道有很多这样的问题,几乎所有的答案都是No。原因是单个微服务应该独立于另一个微服务。如果表发生变化,所有使用该表的微服务都需要更改。

但我的问题是,如果我的数据库结构是固定的(表结构几乎不会有任何变化),那么创建多个指向同一个数据库的微服务是否是一个好主意。

好的...这是我的项目。

我们将把 struts 1.3/EJB 2.0 项目迁移到 Angular/微服务。这个项目有 5 个不同的模块,每个模块都是一个巨大的模块。这个项目自过去 13 年以来一直在生产中。所以改变表结构的机会很小。

我想做不同的微服务的原因是,每个模块都庞大而复杂,我们仍然需要添加/更改业务逻辑。所以在那种情况下,我只能部署一个微服务。

请有任何建议。

标签: spring-bootmicroservices

解决方案


我建议创建一个访问该数据库的新服务,并且所有其他服务都与该服务进行通信,而不是直接与数据库进行通信。

如果您不想创建新服务,至少使用一些数据库抽象层访问数据库。

例如,在 SQL Server 中使用视图和存储过程而不是直接访问表。


推荐阅读