我正在将我的动物园管理应用程序拆分成微服务。我有以下域名:动物,看门人,笼子
我在想我应该在哪里存储这些关系。
例如,一个笼子包含几个动物:我应该将cage_animals表存储到cages服务数据库中还是动物数据库中?
有几个看门人归因于几个动物:我应该将caretakers_animals表存储到看门人服务的数据库中还是动物服务的数据库中?
发布于 2017-03-08 03:59:58
我想将此作为评论添加,但我达到了字符限制:-)
如果笼子的行为对于不同类型的笼子是不同的,那么在您的笼子微服务中,它们中的每一个都可能需要是不同类型的笼子资源。然后,每种类型的笼子都会强制执行它需要遵循的任何规则。
在哪里保持与微服务的关系是一个复杂的问题,没有一个统一的大小可以解决所有问题。我的偏好是尽可能多地进行松散耦合。只有在绝对必要的情况下,每个资源才应该以单向的方式存储它与其他资源的关系。当关系在其他地方更新时会发生什么?一种方法是通知相关服务(也许是通过消息传递?)因此,他们为自己的资源做了正确的事情。
发布于 2017-03-08 08:03:57
https://stackoverflow.com/questions/42653725
复制相似问题