我应该在哪个微服务中存储一个联络表

时间:2017-03-07 16:45:01

标签: relational-database relationship microservices

我将动物园管理应用程序拆分为微服务。 我有以下域名:动物,看护人,笼子

我在考虑应该在哪里存储关系。

例如,一个笼子里有几只动物: 我应该将cage_animals表存储到笼子服务数据库还是动物数据库中?

一些看护人被归咎于几种动物: 我应该将caretakers_animals表存储在看护人服务的数据库中还是存储在动物服务的数据库中?

2 个答案:

答案 0 :(得分:0)

我想将此添加为评论,但我达到了字符限制:-)

如果笼子的行为对于不同类型的笼子是不同的,那么它们中的每一个都可能是笼子微服务中不同类型的笼子资源。然后,每种类型的笼子都会执行它需要遵循的任何规则。

在哪里坚持与微服务的关系的问题是一个复杂的问题,没有一个尺寸适合所有答案。我的偏好是尝试尽可能多地松散耦合。只有在绝对必要时,每个资源才应将其与其他资源的关系存储在单向方式中。当关系在其他地方更新时会发生什么?一种方法是通知相关服务(通过消息传递?),这样他们就可以为自己的资源做正确的事情。

答案 1 :(得分:0)

我认为javadoc我认为。

也许在一起我们会有完整的回复:)

我正在使用JHipster来生成我的应用程序。