Skip to content

Latest commit

 

History

History
54 lines (29 loc) · 1.6 KB

File metadata and controls

54 lines (29 loc) · 1.6 KB

网关模式

归类:架构

tags: 云分布式 解耦 微服务

目的

在同一个地方进行聚合调用,用户请求到网关,由网关调用下游一系列相关的微服务。

解释

微服务的架构模式下,客户端可能需要来自多个不同微服务的数据,如果客户端直接去调用,将会 提升整体的负载时间。更可怕的是,如果将来某两个微服务合并了,所有的客户端都需要更新调用。 这样是不现实的。

网关模式的目的就是减缓上面的问题,网关则是在客户端和微服务的桥梁。网关的主要指责是聚合一系列的 客户端调用,而不是让客户端自己一个个去调用。

真实世界例子

如果我们用微服务实现一个电商平台,在系统里,网关会去聚合调用图片和价格微服务

简单来讲

微服务架构下,网关是唯一的入口点去调用微服务

Wikipedia解释

网关是一个扮演者api前端服务,用来处理客户端的请求,强制执行吞吐策略和安全策略,透传用户请求 和透传响应,网关通常包含一个转换引擎和动态编排,并且可以在运行中修改请求和响应。网关通常 还包含收集数据和提供缓存的能力,同时还得具备认证,授权,安全和审计以及合规性

编程例子

ApiGateway会

ImageClientImpl: 类似图片微服务

PriceClientImpl:价格微服务

DesktopProduct:聚合价格和图片的数据模型

for Desktop user给图片和价格

for mobile user给价格不给图片

应用场景

  • 微服务架构
  • 需要聚合调用层