【发布时间】:2019-08-19 22:02:09
【问题描述】:
我们正在着手一个新的项目开发,我们将有多个微服务相互通信,以在云原生系统中提供信息。我们的应用程序将被分解为多个服务,例如 Text Cleaner 、 Entities Extractor 、 Entities Resolver 、 Output Converter 。正如您在图中看到的,我们有一些分叉,其中一个服务的输入需要其他服务等等。
只有一项服务会暴露在外面。其他人将是内部的。我们必须为客户提供同步响应。
我想看看是否有人可以在这里指导我找到最佳模式:
1- 我们是否应该有一个 Wrapper 类,它具有所有项目的模型类,因为最终输出转换器需要所有细节,或者数据应该如何流动,以便在最后一个微服务中对数据进行分类。我们希望保持系统松散耦合,并且正在考虑如何在没有中间层来组成所有这些数据的情况下编排这个流程?
2- 如何编排这个流程?服务网格/API 网关?
【问题讨论】:
-
所有这些服务都作为独立的微服务对外暴露吗?还是只暴露了测试清洁剂?另外,预期的输出如何......它是同步响应还是异步响应?
-
只有一项服务会暴露在外面。其他人将是内部的。我们正在为客户提供同步响应
标签: rest design-patterns microservices api-design