首页 > 其他分享 >API网关的五大主要功能

API网关的五大主要功能

时间:2022-12-12 19:01:45浏览次数:38  
标签:功能 服务 请求 网关 API 五大 统一

微服务架构将原本一个庞大的业务系统被拆分成许多粒度很小的系统进行独立部署和维护。这必然会导致跨系统交互复杂度增加、不同服务之间依赖关系变得更加复杂,这给微服务的生命周期管理和版本变更管理带来极大的挑战。基于API网关,可以将微服务之间的直接依赖转化为对API网关的依赖,从而降低耦合关系。

如图1所示,API网关是为一组微服务提供统一API访问的组件,基于不同的场景,其承担的职责从单纯请求转发到安全保证、流量控制、可观察性等高级功能。其协议转换功能使得散落部署的异构的微服务系统在API 层面统一起来。API网关本质上是一组专门用于网络请求转发的应用服务实例,作为集群的入站流量入口,调用服务都要经过API网关进行访问,网关可以对API进行统一管控,例如认证、鉴权、流量控制、协议转换、监控等。

API网关的五大主要功能_API

图1 API网关功能概览


进行API网的关技术选型时,更新的时效性和支持微服务的量级是最重要的衡量指标。API网关所包涵的功能范围可归纳为以下五点∶

1.智能路由

智能路由微服务的唯一访问入口,负载均衡是API网关的最基本的功能,用户访问统一的API网关入口,并由API网关选择上游服务,以及状态健康的实例。基于路由和负载均衡这两个基本功能,API网关就可以提供高级的灰度发布功能,管理人员可以通过设置规则将请求转发至应用的不同版本。

2.可观测性

API网关作为流量入口,可提供统一的日志和Tracing解决方案。

3.流量控制

在大型微服务系统中,微服务之间的依赖关系可以非常复杂。限流规则可以使微服务设置自己能接收的最大请求数,超出的请求会被直接返回,保护系统不被过量请求压垮。熔断规则使得微服务可设置访问上游服务的最大并发数,防止把上游压垮,缓存机制可以进一步减少对上游请求的压力。

4.安全保证

微服务架构下,微服务和微服务之间的通信均通过网络调用来完成。为了保证所提供的服务不被滥用,因此,认证、授权等安全控制是API网关考量的重点,API网关的集中部署和统一管理特性使得其能够以较小的代价提供统一认证授权功能,供不同微服务进行集成。

5.可管理性

统一的网关升级将会速度加快,因为提供服务的组件是集中部署和管理的,服务的接入成本低,组件管理成本也较低。

标签:功能,服务,请求,网关,API,五大,统一
From: https://blog.51cto.com/u_15735635/5931305

相关文章

  • API网关的五大主要功能
     微服务架构将原本一个庞大的业务系统被拆分成许多粒度很小的系统进行独立部署和维护。这必然会导致跨系统交互复杂度增加、不同服务之间依赖关系变得更加复杂,这给微服务......
  • openGL API-glGetUniformLocation
    NameglGetUniformLocation—ReturnsthelocationofauniformvariableCSpecification​​GLint glGetUniformLocation(​​GLuint program,constGLchar*name​​)......
  • 基于5G边缘网关的智慧公交站台应用
    发展智能物联网,有利于提高城市运行效率,优化居民生活体验,促进城市迸发活力。智能物联网已经融合进生活的方方面面,例如最常见、分布最广泛的公交站台,也能够通过物联网实现升......
  • 基于边缘智能网关打造智慧体育场
    运动健身是民众广泛存在的生活需求,体育场馆作为承载各种体育运动的基础设施,其运营管理效率、服务水平和智能化场景应用等都与用户体验紧密相关。得益于物联网、边缘计算、......
  • java中的时间api
    packageDataTimeTest;/*java.util.data|---java.sql.Data类1.两个构造器的使用>构造器一:Date():创建一个对应当前时间的Date对象>构造器二:创建指定毫......
  • 功能强大的国产API管理神器 Eolink,亲测好用
    前言大家好,我是海拥,今天给大家讲讲最近很火的Eolink,一款功能强大且非常实用的国产​​API管理工具​​。在我们日常的前端、后端开发测试过程中经常会用到API,特别是在大型......
  • 视频接入网关如何挂载硬盘开启录像功能
    视频网关安装之后,默认是没有开启录像功能的,那么如何开启呢?就是挂载硬盘到指定的目录(/mnt/record/)下的任意目录。查看当前存在的硬盘sudofdisk-l 视频网关安装之......
  • Flink TableAPI&SQL(二)
    2.6表和流的转换一般用于测试时候的数据输出,针对的是流数据。由于Table没有提供print()方法,所有要将Table数据类型转换成DataStream数据类型或者DataSet。2.6.1将表(......
  • HarmonyOS实现登录页面(二)相关api的创建(IDEA)
    创建步骤如何在IDEA里面创建相关程序创建成功后,上来一顿删除文件直到如下图新建3个包commoncontrollermodel在cotroller下面建类ApiController在model......
  • k8s API
    Job-CronJobJob:临时离线任务CronJob:定时离线任务Yaml文件描述Job:apiVersion:batch/v1kind:Jobmetadata:name:...labels:k:vk:v......