当前位置:网站首页>何为API服务网关
何为API服务网关
2022-08-11 11:31:00 【51CTO】
API服务网关顾名思义就是出现在微服务边界上的一个面向API的、串行集中式的、对访问请求强管控的服务,采用的是一个外观模式。API服务网关是微服务访问的统一入口,负责服务请求路由、组合及协议转换等处理。
API服务网关的核心是:为所有客户端请求或其他消费者提供统一的网关,通过该网关接入不同的微服务,并隐藏架构实现的细节。当API服务网关成为微服务访问的唯一入口后,就可以实现对系统内部架构的封装,将一些与业务无关的公共逻辑抽象到API服务网关中实现,比如之前提到的客户端身份验证、业务鉴权、流量与并发控制及响应数据脱敏等功能。
对于API服务网关,其核心功能之一就是负责服务请求路由、组合及协议转换。首先,所有客户端请求都会经过API服务网关;然后,API服务网关再将服务请求路由到合适的微服务,以提供具体的服务处理。所以,API服务网关经常会通过编排多个微服务来处理一个服务请求。
另外,还可以利用API服务网关为不同类型的客户端提供定制的API。这样通过整合为客户端暴露一个粗粒度的API,从而隐藏了系统架构的实现细节,客户端只需要同服务网关交互,而不必了解特定的微服务相关细节信息,减少了客户端与服务器之间的交互次数,同时也大大降低了客户端的开发难度和后期维护成本。
虽然API服务网关有上述优点,但在实施时开发者不得不面对API服务网关的不足。首先,需要为API服务网关开发一个具有高可用的组件,当使用API服务网关后,API服务网关极有可能会成为系统的一个瓶颈,所以高可用是构建API服务网关首要考虑的。
此外,为了能够将微服务的端点接入API服务网关,开发人员需要及时地将微服务相关端点更新/注册到API服务网关中。因此,API服务网关的更新/注册过程要尽可能地简单。否则,开发人员将耗费大量的精力,更新/注册服务网关的配置信息,这显然违背了微服务架构开发的初衷。
还有,API服务网关需要知道与之通信的每个微服务服务器地址和端口信息,特别是在API服务网关中启用了负载均衡时。在传统的开发中,可以通过硬编码的方式(包含通过配置文件的方式)实现服务网关与各微服务地址的绑定,但在微服务架构下的开发,可以通过整合服务治理来实现。这样一个微服务的上线、下线等都可以进行自动处理,不需要手工去管理。
对API服务网关总结如下:
- API服务网关帮助开发者隐藏系统架构实现的细节,提供统一的入口供客户端访问,让微服务使用更为友好。
- 通过微服务的统一访问控制,简化了客户端开发的复杂度,降低了客户端与微服务之间的通信次数,客户端不需要与多个微服务之间进行通信,也不需要了解各个微服务的详细信息。
- 借助API服务网关可统一做切面任务,避免每个微服务自己开发,提升效率,使系统更加标准化。·通过API服务网关,可以将异构系统进行统一整合。
- API服务网关需要实现一个高可用伸缩性强的服务,避免单点失效。
- API服务网关需要对所有微服务实例所暴露的端点进行统一的管理,这为开发和运维增加了一定的难度。
边栏推荐
- Visual Studio: Arm64EC官方支持来了
- LeetCode69:牛顿迭代法和二分法求解x的平方根
- 闪灯IC,可按要求开发各种规格闪灯IC,单片机方案开发
- C# Call AutoNavi Map API to obtain latitude, longitude and positioning [Detailed 4D explanation with complete code]
- 【毕业设计】老人心率脉搏血压体征监测手表 - stm32 单片机 嵌入式 物联网
- 巧用自定义函数,文本控件秒变高速缓存
- EastWave应用:负折射现象实时演示
- Starting from zero configuration vim (11) -- plug-in management
- 宝塔计划任务执行周期设置【秒】为定时单位【或者更小】
- The old saying: The interview must ask "Three handshakes, four waves", so you can't forget it
猜你喜欢

openEuler小程序会议指南

智能恒等于推荐系统

PerfView project (first) : how to find hot spots function

fiddler双向认证

资本市场做好为工业互联网“买单”的准备了吗?

chrome is set to dark mode (including the entire webpage)

Ince-Gaussian mode

网络安全——nmap

开源汇智创未来 | 软通动力出席开放原子全球开源峰会OpenAtom openEuler分论坛

EXCLUSIVE INTERVIEW | INTELLIGENCE IS SPONTANED, NOT PLANNED: Evolution Fan, Former OpenAI Research Manager and UBC Associate Professor Jeff Clune
随机推荐
Flutter 教程之 在 Flutter 中生成 JSON 模型,在 Flutter GetX 中过滤列表和延迟搜索
The fertile soil cloud innovation plan is coming
论文笔记:《Time Series Generative Adversrial Networks》(TimeGAN,时间序列GAN)
Typora表格中常用操作
fiddler双向认证
rem如何使用
2.MySQL ---- 修改数据库的字符集(日常小技巧)
从零开始配置 vim(11)——插件管理
Notes and Recommendations for Using Logs
Jetpack Compose学习(9)——Compose中的列表控件(LazyRow和LazyColumn)
SD8016原厂单电池锂离子电池和锂聚合物电池充电IC
Flutter 教程之 Flutter 中的 HMS 定位工具包
PerfView project (first) : how to find hot spots function
反射获取DLL中的字段、属性、方法、泛型方法(C#)
ID3v2 Library以便能够设置
HM升压IC芯片代理商
简单记录openguass_exporter对接prometheus通过grafanai来实现可视化监控
黑马瑞吉外卖之公共字段自动填充
What areas of the deep neural network are related to the human brain neural network?
98转出0转入,985高校土木工程沦为“天坑”引热议