【发布时间】:2019-10-13 22:28:13
【问题描述】:
我正在创建一个个人费用管理器应用。为此,我正在创建一些微服务并采用“database per service”模式。所以,我有:
- 费用数据库
- 列是:id、category_id、name、amount、payment_date、details
- 类别数据库
- 列是:id、name
我现在面临的问题是:一项费用可以(并且应该)有一个类别。如果服务有自己的数据库,我如何确保给定的费用有一个现有的类别?我现在能想到的唯一方法是:
在费用创建时,我向类别服务发出请求,以验证类别的存在。但是我可以清楚地看到这种方法的一个大缺陷:它可能适用于单一关系,但如果我有四个以上的关系呢?就性能而言,调用其他五个服务来确保完整性将是一团糟。
我不知道如何处理这个问题。有关如何更好地解决此问题的任何建议?
【问题讨论】:
-
不要将微服务分割成最小的部分。将它们划分为业务领域,而不是“表格”或数据。微服务不是数据库中的表。
标签: rest spring-boot microservices