spring-boot - spring boot 一个数据库启动多个微服务
问题描述
我知道有很多这样的问题,几乎所有的答案都是No。原因是单个微服务应该独立于另一个微服务。如果表发生变化,所有使用该表的微服务都需要更改。
但我的问题是,如果我的数据库结构是固定的(表结构几乎不会有任何变化),那么创建多个指向同一个数据库的微服务是否是一个好主意。
好的...这是我的项目。
我们将把 struts 1.3/EJB 2.0 项目迁移到 Angular/微服务。这个项目有 5 个不同的模块,每个模块都是一个巨大的模块。这个项目自过去 13 年以来一直在生产中。所以改变表结构的机会很小。
我想做不同的微服务的原因是,每个模块都庞大而复杂,我们仍然需要添加/更改业务逻辑。所以在那种情况下,我只能部署一个微服务。
请有任何建议。
解决方案
我建议创建一个访问该数据库的新服务,并且所有其他服务都与该服务进行通信,而不是直接与数据库进行通信。
如果您不想创建新服务,至少使用一些数据库抽象层访问数据库。
例如,在 SQL Server 中使用视图和存储过程而不是直接访问表。
推荐阅读
- java - Vaadin 10长时间处理时如何防止连接松动?
- python - 谷歌助手中 DialogFlow 实现 python 的每日更新
- javascript - 将本地反应状态与来自 redux 的数据同步
- ruby-on-rails - 如何在 Rails 中集成来自配置服务的配置文件?
- google-oauth - 谷歌语音到文本为客户端生成基于会话的身份验证令牌
- html - Sass 中的动态半文本颜色
- java - 如何使用共享首选项进行多重登录?
- python - Python 3.7 django 应用程序无法以未处理的异常启动
- ios - iOS在一个工作区中多个项目的优缺点是什么
- vue.js - Vue.js - 条件之间的转换(v-if 和 v-else)