APIGateway 简介

1. APIGateway是什么

  APIGateway 即API网关,所有请求首先会经过这个网关,然后到达后端服务,有点类似于Facade模式。API网关作为系统接口对外的统一出口,可以减少调用方对服务实现的感知。

没有API网关时的结系统构如下图:由图可以看出,在没有API网关作为统一出口的情况下,需要调用方自己组合各种服务,而且容易让调用方感知后端各种服务的存在。

 加入API网关时的系统结构如下图:由图可以看出,在加入了API网关之后,通过网关暴露接口给调用方,调用方可以在不感知后端服务的情况下调用服务,而且通过统一的接口,后端服务接口的变化不会影响调用方,后端服务变化可以通过网关的转换,对外仍然保持一致的风格。

2. APIGateway的作用

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

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

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

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

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

原文地址:https://blog.csdn.net/Tredemere/article/details/78246413?locationNum=10&fps=1

APIGateway网关相关推荐

  1. Spring Cloud Alibaba迁移指南(四):零代码兼容 Api-Gateway

    自 Spring Cloud 官方宣布 Spring Cloud Netflix 进入维护状态后,我们开始制作<Spring Cloud Alibaba迁移指南>系列文章,向开发者提供更多 ...

  2. [Hei-Ocelot-Gateway ].Net Core Api网关Ocelot的开箱即用版本

     写在前面 很多neter都有在用Ocelot做Api网关,但是Ocelot又不像kong或者其他网关一样,开箱即用.它需要你单独开一个web项目来部署,这样很多同学都在做重复的事了. 这里[Hei ...

  3. Spring Cloud Alibaba迁移指南(四):零代码兼容 Api-Gateway 1

    自 Spring Cloud 官方宣布 Spring Cloud Netflix 进入维护状态后,我们开始制作<Spring Cloud Alibaba迁移指南>系列文章,向开发者提供更多 ...

  4. .net core Ocelot Consul 实现API网关 服务注册 服务发现 负载均衡

    大神张善友 分享过一篇 <.NET Core 在腾讯财付通的企业级应用开发实践>里面就是用.net core 和 Ocelot搭建的可扩展的高性能Api网关. Ocelot(http:// ...

  5. .NetCore微服务Surging新手傻瓜式 入门教程 学习日志---结构简介(二)

    .NetCore微服务Surging新手傻瓜式 入门教程 学习日志---结构简介(二) 原文:.NetCore微服务Surging新手傻瓜式 入门教程 学习日志---结构简介(二) 先上项目解决方案图 ...

  6. 系统封装工具_去工具化/脚本化理解,自动化运维落地最佳实践之业务/架构/模型/方法...

    本文转载自:互联网运维杂谈 近年来后端IT也呈现更复杂的形态,底层IT架构逐渐开放平台化.云化,上层应用微服务化等等,虚拟化.云平台.容器PaaS和云原生框架都进入到IT运行环境中,而传统业务依然运行 ...

  7. asp.net core系列 59 Ocelot 构建基础项目示例

    一.入门概述 从这篇开始探讨Ocelot,Ocelot是一个.NET API网关,仅适用于.NET Core,用于.NET面向微服务/服务的架构中.当客户端(web站点.ios. app 等)访问we ...

  8. Consul初探-集成ocelot

    前言 由于 Consul 的高可用性.丰富的API.友好的 Web 控制台界面等特点,Consul 的发展非常迅猛,得益于 .NETCore 社区的快速发展和社区成员的贡献,我们现在可以非常方便快速的 ...

  9. 构建简单的微服务架构

    前言 本篇仅作引导,内容较多,如果阅读不方便,可以使用电脑打开我们的文档官网进行阅读.如下图所示: 文档官网地址:docs.xin-lai.com 目录 总体介绍   微服务架构的好处    微服务架 ...

最新文章

  1. replaceAll的坑
  2. java spark环境配置文件_JAVA, SCALA, HADOOP, SPARK里的JAVA_HOME和环境变量设置
  3. UVA10843——Anne\'s game
  4. 制作已编译的html帮助文件
  5. 一种简单实用的 AjaxPro 调试/错误处理方式
  6. lambda表达式学习(详细理解 ) 重点在最后
  7. php类的继承和,详细对比php中类继承和接口继承
  8. sql注入------基于时间延迟benchmark函数注入脚本
  9. TP框架使用qrcode生成二维码
  10. 教你修改Win7系统的登录界面背景
  11. 《程序员思维训练》读书小记
  12. Max函数、Min函数
  13. Unity制作UFO小游戏
  14. Cisco命令合集-1
  15. 前端面试题(css)
  16. 语音识别引擎接口 将声音转换为文字显示
  17. 秒杀抢红包的思考和总结
  18. MySQL | 自定义函数
  19. armplayer 风靡全球的Android s3c6410 arm11 手机开发板 超低价
  20. prism 搭建prism项目

热门文章

  1. A. PizzaForces
  2. 那些鼓舞人心的大电影:
  3. python报错:pickle.PicklingError
  4. 边玩游戏边学编程,怎么做到的?!
  5. 智能无人系统个人总结
  6. 上海F1研究生美签流程
  7. Python 3中的Itertools,例如
  8. Oracle 修改表名
  9. 网站服务器2核4核怎么选,云服务器2核和4核区别
  10. python手机代码编辑器_Python入门系列14 - 代码编辑器PyCharm篇