我们计划在下一个应用程序中使用微服务架构。我想知道为每个相关的微服务建立一个相同的域实体是否是一种常见的做法。例如,有一个客户。客户由多个用户和一个公司组成。它们存在于客户服务中。然后有一个仓库服务。仓库可以拥有不同角色的不同客户。因此,warehosue实体为客户提供密钥。
在这两个微服务面前有一个API网关。现在,当显示带有仓库的屏幕时,我们还需要来自客户服务的客户信息。因此API网关可以处理这个问题,这意味着获取仓库,然后获取相关客户。但是我们通过API网关连接两个服务。是否是在仓库服务中保持具有特定属性的客户的更好方法?但这对于视图/ UI特定用例来说是必要的吗?这是将“视图逻辑”引入服务的正确方法吗?
答案 0 :(得分:2)
您可以通过不同方式实现此目的。仓库微服务可以消费来自客户微服务的数据并且丰富其响应,其中包含用于呈现的所有内容。或者,演示文稿可能包含几个区域,这些区域是从不同的微服务中加载的,每个微服务都显示其部分。
答案 1 :(得分:0)
尝试在单一责任制下尽可能多地使用微服务。
创建API服务并允许其生成事件,然后由其他微服务消费,并根据所需参数提供结果
现在 API可以提供数据,并且可以以适当的方式回复。
拥有多个微服务将帮助您向上和向下扩展,如果您只有2个微服务,它或多或少只是一个单一服务。
在考虑未来的情况下做出决定。