Mysql中的微服务实现(关系数据库结构)

时间:2019-11-26 16:51:21

标签: mysql spring-boot relational-database microservices

我们已有一个使用Mysql和Java struts构建的项目。我们必须在项目中实施新的部分(假设是CRM)。当前的项目项目中,我们拥有Mysql数据库,它具有约160个表,并且所有这些表之间都具有相互联系(外键关系)。

我们计划使用Spring boot Microservices实现的新项目,并且在与现有数据库一起使用时,我们在构建应用程序微服务时面临一些问题。

在进行微服务时,我们有两种选择来管理实体

  1. 将实体和所有DAO保持为单独的微服务(Entity Microservice),这将与所有微服务通信。这样的好处是,如果我们对数据库结构或字段进行任何更改,我们都只需更改该实体微服务,因为所有微服务都在使用它,因此我们可以从单个区域管理项目的实体
  2. 我们可以在每个微服务包本身中管理每个微服务所需的实体。但是在那种情况下,优点是任何微服务都不会有任何连接,每个微服务都将独立运行。但是问题在于,当我们更改(例如医生表)时,此实体更改必须在每个微服务中进行更新。

让我们知道我们是否可以在项目中使用其他任何项目结构,因为我们的数据库位于mysql中并且每个表都紧密耦合。

1 个答案:

答案 0 :(得分:0)

创建一个仅包含实体,dto和util类的新公共包。

现在将这个commons项目作为所有微服务项目中的依赖项jar。

最后,没有必要将Commons项目作为微服务来启动。要部署需要commons jar作为依赖关系的新微服务,请确保首先克隆commons存储库和相应的存储库。