我将动物园管理应用程序拆分为微服务。 我有以下域名:动物,看护人,笼子
我在考虑应该在哪里存储关系。
例如,一个笼子里有几只动物: 我应该将cage_animals表存储到笼子服务数据库还是动物数据库中?
一些看护人被归咎于几种动物: 我应该将caretakers_animals表存储在看护人服务的数据库中还是存储在动物服务的数据库中?
答案 0 :(得分:0)
我想将此添加为评论,但我达到了字符限制:-)
如果笼子的行为对于不同类型的笼子是不同的,那么它们中的每一个都可能是笼子微服务中不同类型的笼子资源。然后,每种类型的笼子都会执行它需要遵循的任何规则。
在哪里坚持与微服务的关系的问题是一个复杂的问题,没有一个尺寸适合所有答案。我的偏好是尝试尽可能多地松散耦合。只有在绝对必要时,每个资源才应将其与其他资源的关系存储在单向方式中。当关系在其他地方更新时会发生什么?一种方法是通知相关服务(通过消息传递?),这样他们就可以为自己的资源做正确的事情。
答案 1 :(得分:0)