APIGateway简介

综合了一下网上的APIGateway教学,总结了一下(所有图片来源于网络):

目录

1.什么是APIGateway

2.APIGateway的作用

3.APIGateway的重要功能


1.什么是APIGateway

APIGateway 即API网关是一个服务器,所有请求首先会经过这个网关,然后到达后端服务,有点类似于Facade模式

(Facade 原意是法语“正门”的意思,其实它的产生主要是让client只能通过大门进入,不然就无法存取内部的类。所以它主要目的是封装,里面所有的类的方法都应该尽量是私有的,外部只能通过接口类进行使用)。

API Gateway封装内部系统的架构,并且提供API给各个客户端。它还可能有其他功能,如授权、监控、负载均衡、缓存、请求分片和管理、静态响应处理等。

例如用户所需要获得的数据是需要访问多个微服务的,API Gateway可以组合请求。

API Gateway可以通过RESTFUL API的形式来进行请求转发、合并,定制化API给客户端。

使用APIGateway:

                                                                             

2.APIGateway的作用

1.统一对外接口: 
当用户需要集成不同产品或者服务之间的功能,调用不同服务提供的能力。利用APIGateway可以让用户在不感知服务边缘的情况下,利用统一的接口组装服务。 
对于公司内部不同的服务,提供的接口可能在风格上存在一定的差异,通过APIGateway可以统一这种差异。 当内部服务修改时,可以通过APIGateway进行适配,不需要调用方进行调整 
减少对外暴露服务可以增加系统安全性。

2.统一鉴权: 
通过APIGateway对访问进行统一鉴权,不需要每个应用单独对调用方进行鉴权,应用可以专注业务。

3.服务注册与授权: 
可以控制调用方可以使用和不可以使用的服务。

4.服务限流: 
通过APIGateway可以对调用方调用每个接口的每日调用及总调用次数限制

5.全链路跟踪: 
通过APIGateway提供的唯一请求Id,监控调用流程,以及调用的响应时间

6.帮助我们实现客户端的负载均衡策略

3.APIGateway的重要功能

1.负载均衡(多个服务分摊访问压力)

2.服务熔断

在实际生产中,一些服务很有可能因为某些原因发生故障,如果此时不采取一些手段,会导致整个系统“雪崩”。或因系统整体负载的考虑,会对服务访问次数进行限制。服务熔断、服务降级就是解决上述问题的主要方式。API Gateway可以帮助我们实现这些功能,对于服务的调用次数的限制,当某服务达到上限时,API Gateway会自动停止向上游服务发送请求,并像客户端返回错误提示信息或一个统一的响应,进行服务降级。对于需要临时发生故障的服务,API Gateway自动可以打开对应服务的断路器,进行服务熔断,防止整个系统“雪崩”。

3.灰度发布

服务发布上线过程中,我们不可能将新版本全部部署在生产环节中,因为新版本并没有接受真实用户、真实数据、真实环境的考验,此时我们需要进行灰度发布,灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,同时影响小。API Gateway可以帮助我们轻松的完成灰度发布,只需要在API Gateway中配置我们需要的规则,按版本,按IP段等,API Gateway会自动为我们完成实际的请求分流。

 

  • 4
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值