我正在创建一个与用户管理(角色、凭据、权限、菜单等)相关的微服务,另一个用于银行帐户详细信息,现在我有了从数据库获取用户角色详细信息和权限详细信息的方案,这是一个很好的做法吗?将数据库用户管理db的列(即(角色、权限)按要求在-account db中重复,还是在 bank -account db中重复数据)是一种好做法吗?
或者不需要复制银行帐户db中的数据,并发送单独的呼叫来首先从用户管理db获取用户数据?
请提出最好的可能性
发布于 2020-02-22 14:02:35
瓦卡斯
你在微型服务环境中。有一个著名的领域驱动设计(、DDD、),它是的关键模式之一。这意味着您应该尽量避免混合上下文,并在银行帐户db中复制用户信息(这可能是不可避免的,但我认为在您的情况下不是这样)。
因此,您可以调用用户管理服务来获取有关用户的所需信息。
发布于 2020-02-25 10:19:37
我同意“”。此外,我建议您将对有界上下文的依赖降到最小。因此,重复数据是这里最好的选择。但是,您不必在银行帐户上下文/ DB中具有角色和权限。我只在银行帐户上下文中输入必要的内容:用户详细信息(如姓名、生日等)+用户id。
您可以从会话中获得角色和权限。您只管理用户管理上下文中的角色。它有利于安全性和一致性,而且也是使用上下文的原因。
有很多方法来解决一个问题,但我就是这样做的。
https://stackoverflow.com/questions/60337880
复制相似问题