大厂为什么都很重视 API 网关?聊聊 API 网关的作用
Java研发军团
共 4137字,需浏览 9分钟
· 2021-06-03
来源:cnblogs.com/coolfiry/p/8193768.html
![](https://filescdn.proginn.com/62a7e4aa797030cb57bcccd04501455f/8f8c16bdac08eb38a8885d4469a9ab0c.webp)
API 网关的用处
![](https://filescdn.proginn.com/62a7e4aa797030cb57bcccd04501455f/8f8c16bdac08eb38a8885d4469a9ab0c.webp)
API 网关在企业整体架构中的地位
![](https://filescdn.proginn.com/4897d6a2f0d909703ca183b77af767d6/e08adcbdd375674c9d2f0deb043ddadf.webp)
![](https://filescdn.proginn.com/62a7e4aa797030cb57bcccd04501455f/8f8c16bdac08eb38a8885d4469a9ab0c.webp)
企业如何应用 API 网关
![](https://filescdn.proginn.com/a1de7a0b32e112ea6d802b2e094f2191/268af03573b7d8d4e89cd8c9c3ad6615.webp)
![](https://filescdn.proginn.com/d1b01b159ef9543e9f045afc03106079/ea15fd4b411b8b2c593dff10d86a3f06.webp)
面向合作伙伴和面向公司主体业务的优先级不一样,不同的API网关可以做到业务影响的隔离。 内部API使用的管理流程和面向合作伙伴的管理流程可能不一样。 内部的API在功能扩展等方面的需求一般会大于OpenAPI对于功能的要求。
![](https://filescdn.proginn.com/62a7e4aa797030cb57bcccd04501455f/8f8c16bdac08eb38a8885d4469a9ab0c.webp)
API 网关有哪些竞争方案
![](https://filescdn.proginn.com/171bc31ae46e2d30078515219ddd1184/54c86a0ac6caaa1ee22e1ad00c5f0c00.webp)
![](https://filescdn.proginn.com/ee79ee19646363fac48d29836772dc3e/09f5bce4693bbe9c140ad8b6679159e0.webp)
![](https://filescdn.proginn.com/62a7e4aa797030cb57bcccd04501455f/8f8c16bdac08eb38a8885d4469a9ab0c.webp)
API 网关解决方案
Kong kong是基于Nginx+Lua进行二次开发的方案, https://konghq.com/ Netflix Zuul,zuul是spring cloud的一个推荐组件,https://github.com/Netflix/zuul orange,这个开源程序是国人开发的, http://orange.sumory.com/
Amazon API Gateway,https://aws.amazon.com/cn/api-gateway/ 阿里云API网关,https://www.aliyun.com/product/apigateway/ 腾讯云API网关, https://cloud.tencent.com/product/apigateway
基于Nginx+Lua+ OpenResty的方案,可以看到Kong,orange都是基于这个方案。 基于Netty、非阻塞IO模型。通过网上搜索可以看到国内的宜人贷等一些公司是基于这种方案,是一种成熟的方案。 基于Node.js的方案。这种方案是应用了Node.js天生的非阻塞的特性。 基于java Servlet的方案。zuul基于的就是这种方案,这种方案的效率不高,这也是zuul总是被诟病的原因。
![](https://filescdn.proginn.com/62a7e4aa797030cb57bcccd04501455f/8f8c16bdac08eb38a8885d4469a9ab0c.webp)
企业怎么选择 API 网关
kong是基于ngnix+lua的,从公司的角度比较难于找到能去维护这种架构产品的人。需求评估当前公司是否有这个能力去维护这个产品。 zuul因为架构的原因在高并发的情况下性能不高,同时需要去基于研究整合开源的适配zuul的监控和管理系统。 orange由于没有被大量使用,同时是国内个人在开源,在可持续性和社区资源上不够丰富,出了问题后可能不容易找到人问。
END
顺便给大家推荐一个GitHub项目,这个 GitHub 整理了上千本常用技术PDF,绝大部分核心的技术书籍都可以在这里找到,
GitHub地址:https://github.com/javadevbooks/books
Gitee地址:https://gitee.com/javadevbooks/books
电子书已经更新好了,你们需要的可以自行下载了,记得点一个star,持续更新中..
评论