API Gateway(dubbo)

一 定义

 是位于客户端和API之间的一个单点入口 , 它作为反向代理将客户端请求路由到后面的一组API 

二 三种模式

1 路由

   API Gateway作为反向代理将客户端的请求路由到API , API Gateway作为单点入口对
 客户端和API进行解耦

2 聚合

   当客户端的某个操作需要调用多个API时 , API Gateway可以把多个API请求聚合为
 一个请求 
   步骤: 客户端发送一个请求到API Gateway
        --->>API Gateway分发多个请求到各个API
           并且将各个API返回到应答聚合成一个应答返回给客户端
   作用: 降低请求交互次数的作用

3 卸载

   API Gateway可以卸载API的功能 , 尤其是一些crossing cutting交互功能 , 因此我们
 可以在API Gateway单点实现功能 , 而不是在各个API上重复实现 , 尤其是一些专业
 性要求高的 , 如安全的实现

三 两种API Gateway产品

1 AWS API Gateway

1)AWS API Gateway支持客户端包括

(1)移动端应用
(2)网页应用
(3)Web服务

2)AWS API Gateway支持后端包括

(1)部署在amazon EC2上的服务
(2)使用 AWS Lambda实现的serverless服务
(3)以及其他部署可以通过公共网络访问的接口

3)API Gateway依托AWS平台及其丰富的组件

(1)基于amazon CloudWatch提供监控相关功能
(2)基于AWS Lzmbda提供Serverless功能
(3)基于AWS CloudTrail提供审计功能

4)配置静态应答
      AWS API Gateway可以提供MOCK集成 , 这样 , 只需要确定后端服务的接口定
    义 , 即使后端服务没有开发完成 , 也可以通过配置API Gateway的Mock应答 , 
    使得客户端的开发和测试可以顺利进行 , 从而解耦了客户端可API的开发测试过
    程
5)主要功能

(1)Security and Authorization
—>>AWS API Gateway可以保护后端API免受DDos攻击
—>>通过AWS Cloudtrail记录审计日志并持续监控服务调用情况
—>>通过AWS IAM , AWS COGNITO , AWS SIGNATURE V4等组件提供安全支持
—>>通过AWS Lambda实现可定制的授权访问
—>>通过配置trusted relationship , 以白名单方式进行访问控制
—>>支持客户端调用代码的自动生成 , 包括认证授权的相关代码
(2)Monitoring , Metrics and Logging
—>>AWS API Gateway通过AWS Cloudwatch对API的调用情况 , 性能指标和
错误率进行监控 , 并提供控制面板 , 我们可以通过AWS控制面板监
测API的调用 , API调用延迟 , API集成延迟 , 调用时出现的客户端错
误及服务端错误
在这里插入图片描述
—>>针对AWS Cloudwatch提供的日志功能 , AWS API Gateway支持基于部署
阶段和API方法的配置
在这里插入图片描述
(3)Throttling and Caching
—>>AWS API Gateway提供缓存及流量管理功能
在这里插入图片描述

         当请求到达AWS API Gateway , API Gateway首先检查请求资源是否存在于缓
     存中 , 如果存在 , 则直接返回缓存中的内容 ; 如果不存在 , 则检查当前的请求
     速率 , 如果超过了允许的最大速率则返回HTTP status 429 , 只有速率检查通过 , 
     才真正执行后端调用
         --->>AWS API Gateway通过缓存后端返回的应答 , 可以有效减少后端调用 , 
             通过流量管理 , 可以保护后端API经受峰值流量的考验
         --->>AWS API Gateway 支持部署阶段级别的缓存和流量管理配置 , 支持API
             方法级别的流量管理配置

(4)Payload Modeling and Transformation
—>>在API Gateway中 , 客户端发送的请求负载格式可能与后端API接受的
请求负载格式不同
同样 , API返回的响应负载可能不同于客户端接受的响应负载
AWS API Gateway 提供映射模板将负载从客户端请求映射到API接收的
请求 , 以及从API响应映射到响应的客户端响应
(5)Native Code Generation
—>>AWS API Gateway 提供自动代码生成功能来生成客户端调用代码

6)AWS API Gateway 的优势

(1)依托于AWS cloudFront的全球边缘网络作为基础设施 , 为API调用提供尽
可能低的网络延迟
(2)基于请求和应答数目计费 , 没有请求则无费用产生

2 Kong API Gateway

1)版本

(1)社区版
特点: 开源的
(2)企业版

2)主要功能
     和AWS API Gateway的区别并不大
3)特点
     通过插件实现API Gateway的可扩展性 , 我们可以通过配置插件来实现上述的功
  能 , 另外除了Kong本身提供的插件 , 我们也可以自定义插件
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值