【发布时间】:2021-02-05 10:28:45
【问题描述】:
这个问题在我脑海中盘旋了一段时间,找到解决方案时似乎无法理解其中的逻辑。
这是交易: 我目前正在开发一个简单的应用程序,该应用程序已拆分为 2 个微服务。 该应用程序与管理软件 Trello 的任务非常相似。 有一个微服务专门用于存储用户信息(用户服务) 另一个微服务负责董事会(董事会持有列表和列表持有任务,但这与我的问题无关)。两种微服务都使用自己的数据库。 所有这些都将托管在 AWS 上,代码是用 Java 编写的,我使用 Hibernate 来生成数据库。
我的问题: 如何使用用户服务并让多个用户实体使用 Board? 我了解使用将 BoardId 与 UserId 一起存储的多对多表的做法,但是如果我要删除连接到板的用户会发生什么。用户数据库中的 User 与板存储的 userId 之间没有逻辑连接。 (一个用户可以登录多个板子,反之亦然)
简而言之我的问题:
这在数据库中看起来如何?
Boards 服务如何访问 User 服务并将用户保存到 Boards?
当我在用户微服务上删除用户时会发生什么?
【问题讨论】:
-
大概是用户服务返回了板服务可以使用的ID?例如代表用户的 UUID? UUID 对于板服务来说是没有意义的,除了对真实用户来说是一个可解析的占位符。解析这些 UUID 是用户服务的工作。如果一个用户被删除了,只需告诉board service删除相应的UUID
标签: java amazon-web-services rest microservices