背景
为什么需要一个网关:对外接入接口,API网关是唯一的入口,提供一个对外接口管理的入口。
API网关是一个服务器,是系统的唯一入口。从面向对象设计的角度看,它与外观模式类似。
API网关封装了系统内部架构,为每个客户端提供一个定制的API。
它可能还具有其它职责,如身份验证、监控、负载均衡、缓存、请求分片与管理、静态响应处理。
API网关方式的核心要点是,所有的客户端和消费端都通过统一的网关接入微服务,在网关层处理所有的非业务功能。
通常,网关也是提供REST/HTTP的访问API。
网关调研分析
1.API网关的用处
API网关一般用于三种场景:Open API,微服务网关,API服务管理平台,

网关的功能:对内对外进行统一的服务调用及管理
2.API网关的竞争方案
service mesh:istio
Open APi:一般是微服务API网关
3.API网关解决方案
私有云开源解决方案如下:
- Kong kong是基于Nginx+Lua进行二次开发的方案, https://konghq.com/
- Netflix Zuul,zuul是spring cloud的一个推荐组件,https://github.com/Netflix/zuul
- orange,这个开源程序是国人开发的, http://orange.sumory.com/
- 小豹API网关,这个是作者参与研发的API网关,国内少有的基于java的api网关,小豹API网关
公有云解决方案:
- Amazon API Gateway,