java多线程    Java入门    vsftp    ftp    linux配置    centos    FRP教程    HBase    Html5缓存    webp    zabbix    分布式    neo4j图数据库    

API网关的作用

API 网关分为Open API 网关和 微服务网关

Open API网关:例如 QQ和阿里的Open API , Open API开放平台必然涉及到客户应用的接入、API权限的管理、调用次数管理等,必然会有一个统一的入口进行管理,这正是API网关可以发挥作用的时候。

微服务网关:处理了负载均衡,缓存,路由,访问控制,服务代理,监控,日志等

Zuul的性能定义为100万次

Netflix表示,“Netflix的云端网关团队运行着80多个Zuul 2集群,将流量发送到100个(以及不断增长的)后端服务集群,每秒处理的请求量超过100万次。Netflix承诺这个版本的Zuul是稳定的,所以不必迫不及待测试它的功能。

API网关的作用

1.负载均衡

一个请求,经过网关以后,分发给不同的后端服务器处理,均衡服务器压力

2.服务熔断

请求过大,从网关这里就停止向后端分发,防止后端服务器崩溃

3.灰度发布

API Gateway可以帮助我们轻松的完成灰度发布,只需要在API Gateway中配置我们需要的规则,按版本,按IP段等,API Gateway会自动为我们完成实际的请求分流。

4.数据聚合

把来自五个服务的信息,聚合在一个地方。比如查看一个商品详情页,我们可能需要同时从商品服务,库存服务,评价服务等中拉取信息,我们可以借助 Gateway 方便完成来自不同 service 的数据聚合。

5.统一对外接口

对于公司内部不同的服务,提供的接口可能在风格上存在一定的差异,通过APIGateway可以统一这种差异。 当内部服务修改时,可以通过APIGateway进行适配,不需要调用方进行调整,减少对外暴露服务可以增加系统安全性。

6.认证鉴权

API网关作为服务访问的统一入口,所有用户请求都会过API网关,很适合用来做认证鉴权这类切面型服务。网关可以拦截用户请求,获取请求中附带的用户身份信息,调用认证授权中心的服务,对请求者做身份认证,即确认当前访问者确实是其所声称的身份,检查该用户是否有访问该后台服务的权限。

鉴权分为redis中心鉴权和JWT鉴权。

生产级别网关应该具备的功能

生产级的网关,应该具备的特点和功能:

(1)动态路由:新开发某个服务,动态把请求路径和服务的映射关系热加载到网关里去;服务增减机器,网关自动热感知

(2)灰度发布:基于现成的开源插件来做

(3)授权认证

(4)限流熔断

(5)性能监控:每个API接口的耗时、成功率、QPS

(6)系统日志

(7)数据缓存

SpringCloud集成的网关有 Zuul 和 Spring GateWay

参考资料

大厂为什么要重视网关

https://blog.csdn.net/g6U8W7p06dCO99fQ3/article/details/115314957

https://www.sohu.com/a/232710927_100159565

普及帖子:什么是API网关,好好阅读,再阅读,再阅读

https://blog.csdn.net/yao_zhuang/article/details/123867806

引出来的新话题,redis分布式鉴权和JWT鉴权,分布式系统如何实现登录鉴权的。

如何设计一个网关 https://article.itxueyuan.com/Rdv4om

SpringCloud网关Zuul和GateWay区别 https://blog.csdn.net/m0_67391907/article/details/124152165


This entry was posted in JAVA, WEB前端 and tagged , . Bookmark the permalink.
月小升QQ 2651044202, 技术交流QQ群 178491360
首发地址:月小升博客https://java-er.com/blog/api-getway-spring/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
您的评论是我写作的动力.

Leave a Reply