Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在基于Azure的微服务体系结构中添加聚合的位置_Azure_Architecture_Microservices_Aggregate - Fatal编程技术网

在基于Azure的微服务体系结构中添加聚合的位置

在基于Azure的微服务体系结构中添加聚合的位置,azure,architecture,microservices,aggregate,Azure,Architecture,Microservices,Aggregate,我们使用Azure API管理的网关功能,将请求路由到我们的微服务 对于来自UI的某些请求(基于角度),我们希望UI只需执行一个请求即可检索所需的所有数据。例如,请求可能是获取仪表板数据,其中组成仪表板的数据将来自多个微服务 我们正在考虑的方案有: 使用网关添加聚合逻辑 添加网关将调用的聚合微服务 添加聚合服务,该服务调用网关 对于选项1和2,我们的UI将直接调用API管理网关。对于选项3,UI将调用聚合服务,然后该服务将调用API管理网关 我们倾向于选项1,但是这看起来可能有点复杂,因为我们可

我们使用Azure API管理的网关功能,将请求路由到我们的微服务

对于来自UI的某些请求(基于角度),我们希望UI只需执行一个请求即可检索所需的所有数据。例如,请求可能是获取仪表板数据,其中组成仪表板的数据将来自多个微服务

我们正在考虑的方案有:

  • 使用网关添加聚合逻辑
  • 添加网关将调用的聚合微服务
  • 添加聚合服务,该服务调用网关
  • 对于选项1和2,我们的UI将直接调用API管理网关。对于选项3,UI将调用聚合服务,然后该服务将调用API管理网关

    我们倾向于选项1,但是这看起来可能有点复杂,因为我们可能需要一些c#来表示聚合逻辑(或者使用发送请求策略,类似于图中所示)

    对于选项3,我们可能会选择基于nodejs/express的应用程序服务。我们还没有找到任何引用,其中聚合放在对网关的调用之前(我们拥有的最接近的引用与所示的两层网关示例有一些相似之处,看起来像是,选项3的方法可能像这样)

    我们的微服务目前都是用java编写的

    我们应该选择哪一个