旅游网站制作代码,北京有什么网上推广的网站吗,网站建设以及运营方面,企业网站建设属于什么科目#x1f50d;目的 用户对聚合器服务进行一次调用#xff0c;然后聚合器将调用每个相关的微服务。 #x1f50d;解释 真实世界例子 网络市场需要有关产品及其当前库存的信息。 它调用聚合服务#xff0c;聚合服务依次调用产品信息微服务和产品库存微服务#xff0c;返回组合…目的 用户对聚合器服务进行一次调用然后聚合器将调用每个相关的微服务。 解释 真实世界例子 网络市场需要有关产品及其当前库存的信息。 它调用聚合服务聚合服务依次调用产品信息微服务和产品库存微服务返回组合信息。 通俗描述 聚合器微服务从各种微服务中收集数据并返回一个聚合数据以进行处理。 维基百科 聚合器微服务调用多个服务以实现应用程序所需的功能。 程序示例
定义产品数据模型
public class Product {private String title;private int productInventories;// getters and setters -...
}生成聚合器服务包含用于调用相应微服务的客户端ProductInformationClient和 ProductInventoryClient。
RestController
public class Aggregator {Resourceprivate ProductInformationClient informationClient;Resourceprivate ProductInventoryClient inventoryClient;RequestMapping(path /product, method RequestMethod.GET)public Product getProduct() {var product new Product();var productTitle informationClient.getProductTitle();var productInventory inventoryClient.getProductInventories();//Fallback to error messageproduct.setTitle(requireNonNullElse(productTitle, Error: Fetching Product Title Failed));//Fallback to default error inventoryproduct.setProductInventories(requireNonNullElse(productInventory, -1));return product;}
}设置产品信息微服务的精华实现。 库存微服务类似它只返回库存计数
RestController
public class InformationController {RequestMapping(value /information, method RequestMethod.GET)public String getProductTitle() {return The Product Title.;}
}调用 聚合器 REST API返回产品信息。
curl http://localhost:端口号/product
{title:The Product Title.,productInventories:5}类图 Aggregator Microservice
适用场景 当需要各种微服务的统一API时无论客户端设备如何都可以使用Aggregator微服务模式。