API网关

API网关的作用

下图显示了详细信息。

 

步骤 1 - 客户端向 API 网关发送 HTTP 请求。

步骤 2 - API 网关解析并验证 HTTP 请求中的属性。

步骤 3 - API 网关执行允许列表/拒绝列表检查。

步骤 4 - API 网关与身份提供商对话以进行身份​​验证和授权。

步骤 5 - 将速率限制规则应用于请求。如果超过限制,请求将被拒绝。

步骤 6 和 7 - 现在请求已通过基本检查,API 网关通过路径匹配找到要路由到的相关服务。

步骤 8 - API 网关将请求转换为适当的协议并将其发送到后端微服务。

步骤9-12:API网关可以正确处理错误,如果错误需要较长时间才能恢复(熔断),则可以处理故障。它还可以利用 ELK(Elastic-Logstash-Kibana)堆栈进行日志记录和监控。我们有时会在 API 网关中缓存数据。

常见的API网关

API网关是一种用于管理、监控和保护微服务架构中API的工具。在选择API网关技术时,需要考虑一系列因素,包括性能、安全性、可伸缩性、易用性和社区支持等。以下是一些常见的API网关技术,你可以根据项目需求选择适合的:

  1. NGINX: NGINX是一个高性能的开源反向代理服务器,也可以用作API网关。它轻量级、可伸缩,而且有丰富的社区支持。

  2. Apigee: Google的Apigee是一种全功能的API管理平台,提供了丰富的功能,包括分析、监控、安全性和开发者门户等。

  3. Kong: Kong是一个开源的API网关和微服务管理层,支持负载均衡、认证、授权、监控等功能。它基于Nginx构建,并具有可扩展性。

  4. AWS API Gateway: 如果你在AWS上构建应用,考虑使用AWS API Gateway。它集成了AWS生态系统,并提供了强大的管理、监控和安全功能。

  5. Azure API Management: Microsoft Azure的API管理服务提供了API的完整管理解决方案,包括安全、监控和分析等功能。

  6. Spring Cloud Gateway: 如果你的应用是基于Spring Boot构建的,Spring Cloud Gateway是一个不错的选择。它提供了灵活的路由、过滤器和断路器等功能。

  7. Tyk: Tyk是一种轻量级、开源的API网关,支持灵活的路由、认证和限流等功能。

  8. HAProxy: HAProxy是一种高性能的负载均衡器,也可以用作API网关。它简单而强大,适用于大规模的应用部署。

在选择API网关时,考虑到项目的需求和规模,以及团队的技术栈和经验。进行详细的比较和测试,确保选择的API网关能够满足你的性能、安全和可管理性等方面的要求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/181062.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯第一天-----时间显示

文章目录 前言一、题目描述二、测试用例三、题目分析四、具体代码实现总结 前言 本章中将相信介绍蓝桥杯中关于时间显示的题目。 链接:https://www.lanqiao.cn/problems/1452/learning/ 一、题目描述 二、测试用例 三、题目分析 1.输入的时间为毫秒,毫…

浅析linux中的信号

人们往往将信号称为“软件中断”,它提供了异步事件的处理机制,这些事件可以来自系统外部(如用户按下ctrlc产生中断符),也可能来自程序或者内核内部的执行动作(如进程除零操作)。进程收到信号&am…

AcWing 2816. 判断子序列

文章目录 AcWing 2816. 判断子序列我的思路CODE 欣赏大神代码给点思考 AcWing 2816. 判断子序列 题目链接:https://www.acwing.com/activity/content/problem/content/2981/ 我的思路 直接硬套模版,把两个指针两层循环写上如果匹配,记录数组…

汽车内饰灯不亮问题修复

车内饰灯不亮问题修复 最近换后座阅读灯火光闪了一下,保险丝短路,导致车内所有灯光,包括前后座阅读灯、后备箱灯都不亮了。 因为是所有灯都不亮,所以排除灯泡问题,网上查了下大概率是保险丝烧了。于是查了自己更换保…

idea下载与安装,以及创建一个项目写HelloWorld

1.idea下载 Download IntelliJ IDEA – The Leading Java and Kotlin IDE (jetbrains.com) Ultimate为旗舰版,功能全面,插件丰富,按年收费。 Community为社区版,免费试用,功能相对而言不是很丰富,但是不影…

Linux系统---环境变量+内核进程调度队列(选学)

顾得泉:个人主页 个人专栏:《Linux操作系统》 《C/C》 键盘敲烂,年薪百万! 一、环境变量 1.基本概念 环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如: 我们在编写CI/…

Python 分解IP段获取所有IP(子网掩码)

需求 192.168.1.0/24,192.168.2.1-192.168.2.254,192.168.3.3 IP段格式已 "," 分割,获取所有IP 注意 1. 判断 IP 是否合规 2. 去除多余的字符,例如空格、换行符 3. 去重 代码 import re import ipaddressdef isIP(ip):p re.compile(^((…

考虑区域多能源系统集群协同优化的联合需求侧响应模型程序代码!

本程序参考中国电机工程学报论文《考虑区域多能源系统集群协同优化的联合需求侧响应模型》,文章使用关系矩阵来表示电、热、气的耦合关系,使用NSGA2方法对多目标优化方法进行求解,文章中考虑环境因素是目前研究的热点。程序中算例丰富&#x…

LINUX入门篇【11】---进程篇【3】---进程优先级,进程切换,进程调度

前言: 有了前面知识点的铺垫,本篇我们将围绕进程的三个方面来展开,即进程优先级,进程切换以及进程调度的问题,这里的进程调度其实本质就是CPU是如何去调度进程的。 进程优先级: 优先级的概念&#xff1a…

[Linux ] sed文本处理和免交互

一、sed 1.1 sed是什么 sed 是一种流编辑器(stream editor),用于对文本数据进行文本转换和处理。它通常被用于在命令行中执行文本编辑任务,可以对输入的文本进行搜索、替换、删除等操作,并将结果输出。sed 是一个非交…

10.点赞 + 我收到的赞

1.点赞 点赞:支持对帖子、评论点赞;第1次点赞,第2次取消点赞首页点赞数量:统计帖子的点赞数量详情页点赞数量:统计点赞数量、显示点赞状态 1.1 生成 redis 工具类 将数据存入到 redis 中,以 key 为关键&…

Spring Boot 整合RabbitMQ

系列文章目录 第一章 Java线程池技术应用 第二章 CountDownLatch和Semaphone的应用 第三章 Spring Cloud 简介 第四章 Spring Cloud Netflix 之 Eureka 第五章 Spring Cloud Netflix 之 Ribbon 第六章 Spring Cloud 之 OpenFeign 第七章 Spring Cloud 之 GateWay 第八章 Sprin…

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《考虑不确定性的火电发电商现货-深度调峰市场优化决策》

标题涉及到电力行业的领域,尤其是火电发电商在电力市场中面对深度调峰需求时的决策问题。下面是对标题的解读: 考虑不确定性: 这指的是在制定优化决策时,考虑到环境的不确定性,可能包括但不限于电力市场的价格波动、发…

算法—双指针

双指针算法可以帮忙把时间复杂度降低一个维度,即原本O(n2)降为O(n);将O(n)降为O(1) 移动零 移动零 题目解析 将所有0移动到末尾保持非0元素相对顺序对数组进行原地操作(不开辟额外空间) 算法原理 数组…

等保——密评技术要求

密评简介 密评定义:全称商用密码应用安全评估, 是指对采用商用密码技术、产品和服务集成建设的网络和信息系统密码应用的合规性、正确性、有效性进行评估。密评对象:重要信息系统、关键信息基础设施、网络安全等保三级及以上的系统。评测依据&#xff1…

IMO国际奥林匹克数学竞赛推出AI-MO,奖金高达1000万美元; SDXL Turbo: 新一代文本到图像模型

🦉 AI新闻 🚀 IMO国际奥林匹克数学竞赛推出AI-MO,奖金高达1000万美元 摘要:IMO国际奥林匹克数学竞赛推出新的AI竞赛AI-MO,旨在推动大语言模型的数学推理能力,鼓励开发能与人类数学天才相媲美的AI模型。比…

真空工艺腔内潮湿有什么危害?

在半导体制程中,真空工艺腔被广泛使用。薄膜沉积,干法刻蚀,光刻,退火,离子注入等工序均需要在相应的真空腔室中完成相应制程。真空工艺腔在半导体制程中起着至关重要的作用,它能够提供一个高度控制的环境&a…

在Springboot中操作Redis——五大数据类型

在Java中操作Redis Redis的Java客户端 前面我们讲解了Redis的常用命令,这些命令是我们操作Redis的基础,那么我们在java程序中应该如何操作Redis呢?这就需要使用Redis的Java客户端,就如同我们使用JDBC操作MySQL数据库一样。 Red…

电气制图用什么软件?CAD和Eplan哪个更胜一筹?

身为电气工程师,每天打交道最多的可能不是自家对象,而是时时刻刻攥在手里的电气图。目前市面上制作电路图的软件形形色色,但是AutoCAD Electrical和Eplan是目前大家使用率最高的两款电气制图软件。 EPLAN是一款专业的电气设计软件&#xff0…

UTONMOS:元宇宙时代已经来临

当我们站在这个新的人工智能时代的十字路口,不可避免地要面对一个问题:在这个技术革新的大潮中,区块链技术还有没有生存和发展的空间?本文将深入探讨这个问题,分析区块链在人工智能时代的优势、挑战以及未来的可能性。…