API网关
(时间:2020.12.15,整理)
一、API网关介绍
API网关是系统与外界联通的入口,可以在网关进行处理一些非业务逻辑的逻辑,比如权限验证,监控,缓存,请求路由等等。
为什么需要Api网关?
图1 单体架构
传统单体应用由于规模较小,通常是将所有应用功能集成到一个系统中,统一部署,对外提供一个唯一的入口。
随着业务的迅速发展,到了微服务架构时代,微服务的各种优势突出,但是通过将应用功能进行了拆分,每个功能被独立出来,有了许多部署在不同服务器上的微服务,如此就会多出很多的URL地址,如何管理这些URL,让请求者(比如前端)自己管理吗?当然不是,在这种情况下API网关就出现了。微服务化后,整个系统通过API网关统一与外界交互。
图2 API网关
API网关是一个服务器,是系统的唯一入口。从面向对象设计的角度看,它与外观模式类似。API网关封装了系统内部架构,为每个客户端提供一个定制的API。这样 REST API 接口服务就被 API 网关保护起来,对所有的调用者透明。因此,隐藏在 API 网关后面的业务系统就可以专