归类:架构
tags: 云分布式 解耦 微服务
在同一个地方进行聚合调用,用户请求到网关,由网关调用下游一系列相关的微服务。
微服务的架构模式下,客户端可能需要来自多个不同微服务的数据,如果客户端直接去调用,将会 提升整体的负载时间。更可怕的是,如果将来某两个微服务合并了,所有的客户端都需要更新调用。 这样是不现实的。
网关模式的目的就是减缓上面的问题,网关则是在客户端和微服务的桥梁。网关的主要指责是聚合一系列的 客户端调用,而不是让客户端自己一个个去调用。
真实世界例子
如果我们用微服务实现一个电商平台,在系统里,网关会去聚合调用图片和价格微服务
简单来讲
微服务架构下,网关是唯一的入口点去调用微服务
Wikipedia解释
网关是一个扮演者api前端服务,用来处理客户端的请求,强制执行吞吐策略和安全策略,透传用户请求 和透传响应,网关通常包含一个转换引擎和动态编排,并且可以在运行中修改请求和响应。网关通常 还包含收集数据和提供缓存的能力,同时还得具备认证,授权,安全和审计以及合规性
编程例子
ApiGateway会
ImageClientImpl: 类似图片微服务
PriceClientImpl:价格微服务
DesktopProduct:聚合价格和图片的数据模型
for Desktop user给图片和价格
for mobile user给价格不给图片
- 微服务架构
- 需要聚合调用层