api网关有什么功效 API网关的基本功能

api网关有什么功效 API网关的基本功能(1)

什么是API网关
  • 微服务架构中,服务会被拆分成多个的微服务,例如:用户服务、订单服务、商品服务等
  • 为了应对高并发,微服务会部署在很多机器上,同一个API也是散落在很多机器上,此时就需要有个东西将这些API统一管理起来,这个东西就可以被定义为API网关。

我们通过一张图来理解API网关:

api网关有什么功效 API网关的基本功能(2)

网关作为系统的唯一入口,当外部应用或者客户端访问系统时,都会遇到如下问题:

  1. 需要判断访问者的权限
  2. 协议不一致的需要协议转换
  3. 服务需要做水平扩展
  4. 控制请求流量,防止请求的流量超出系统的承受范围
  5. 针对每个请求及回复,要记录响应日志
API网关应该具备的功能
  1. 路由选择的功能:网关可以根据请求的URL地址解析,知道需要访问的服务,再通过路由表把请求路由到目标服务上去。
  2. 负载均衡的功能:将工作负荷分布到多个服务器来提高性能。
  3. 流量控制的功能:当上游服务超出请求承载范围,或者其不正常了,此时,API网关可以限制流入的请求,让上游服务免受冲击,保持能够正常访问。
  1. 统一鉴权的功能:如果每个访问每个微服务都验证一次权限,这样效率会很低。如果把这个权限验证放在网关层,就比较合理了。一般流程是:登录网关获取token,其他请求时带上token,API网关层解析token,知道访问者是谁,有什么权限,可以访问哪些URL,一般情况下,API网关需要和CAS中心鉴权服务做链接,来确定请求者的身份和权限。
  2. 熔断降级的功能:当上游服务出问题时,网关需要做出处理,例如:进行降级处理。
  3. 灰度发布的功能:一种发布方式,在其上可以进行A/B测试,让一部分用户继续使用A功能,一部分用户使用B功能,如果无问题,就慢慢都升级成了B功能。
  4. 数据聚合的功能:例如一个界面既要显示用户信息,又要显示订单信息,此时需要调用多个API接口,数据聚合的意思就是,在网关层面就可以处理这些问题,让调用方一次发送多种API请求,网关层给聚合后,再返回给调用方,这样不仅节省开发时间,也提升了访问速度,提高了用户体验。
  5. 缓存数据的功能:对一些修改频率不高的数据,可以缓存在API网关中,当用户请求时,如果发现有缓存信息,直接返回,如果没有缓存,则到上游服务获取信息。设计一个定期更新数据到缓存的服务。
  6. 日志记录的功能:优秀的网关日志记录是少不了的。
,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页