当数据库之间存在依赖关系时,设计微服务架构的最佳方法是什么?

时间:2017-12-19 11:39:08

标签: spring-boot microservices

我们计划使用spring boot将我们的产品迁移到微服务架构。 我对“每个服务应该有单独的数据库”的疑虑/担忧很少。 如果我为每个服务创建了单独的数据库,那么如何处理表依赖项。

例如:我有2个微服务。

1。客户服务:它有“客户”表(字段:customerId,customerName等...)

2。订单服务:它有“订单”表(字段:orderId,orderName,customerId等...)

注意:为简单起见,我在这里只提到了每个服务中的一个表。

当我尝试根据orderId访问订单详情时,我可能还想检索客户的详细信息。

在这种情况下,我脑子里有两个选择:

  1. 使用RestTemplate调用customerById API的“客户服务”GET并获取所需的详细信息并在OrderDetails的响应中进行设置。
  2. 也在订单服务中创建客户表,并使用数据库工具将客户服务中的数据复制到订单服务的客户表。即,对客户服务数据库中的客户表进行的任何更改都将反映在订单服务的客户表中。 因此,我可以轻松地从订单服务本身获取相关数据。
  3. 请建议哪一个更好。如果两者都没有意义,请提出最好的方法来解决这个问题。

    感谢。

0 个答案:

没有答案