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.输入的时间为毫秒,毫…

大数据学习(26)-spark SQL核心总结

&&大数据学习&& 🔥系列专栏: 👑哲学语录: 承认自己的无知,乃是开启智慧的大门 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言📝支持一下博主哦&#x1f91…

浅析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为社区版,免费试用,功能相对而言不是很丰富,但是不影…

windows 映射 webdav 为本地磁盘

参考 https://docs.qnap.com/operating-system/qts/4.5.x/zh-cn/GUID-31D5B05F-F29E-4D61-9758-C8CF839C14FD.html WebDAV 允许用户访问和管理远程服务器上的文件。您可以通过 WebDAV 将 Windows 计算机上的共享文件夹装载为网络磁盘。 在 Windows 计算机上,打开“…

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(^((…

JS调用Android原生相机设置

1、定义 private ValueCallback<Uri> mUploadMessage;public ValueCallback<Uri[]> uploadMessage;private Uri imageUri; 2、webview 设置 webView.setWebChromeClient(new WebChromeClient(){// For 3.0 Devices (Start)// onActivityResult attached before co…

谷歌要如何优化引流?谷歌引流有什么优势?

在谷歌引流上想要写出高质量的内容是不言而喻的&#xff0c;但如果你希望为关键字排名&#xff0c;那么写高质量的内容是很重要的。如果没有人发现你的内容有用&#xff0c;那么世界上所有的页面优化都不会对你有帮助。谷歌有很多排名因素&#xff0c;可以帮助他们决定你的页面…

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

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

对支付宝进行测试用例分析

支付宝作为一款广泛使用的支付工具&#xff0c;其功能和性能的稳定性和可靠性对于用户体验至关重要。因此&#xff0c;对其进行测试用例分析是非常必要的。以下是一些可能的测试用例&#xff1a; 功能测试&#xff1a;测试支付宝各项功能的完整性和正确性&#xff0c;例如转账、…

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

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

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

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

maven repository的官方网址

1.maven仓库官方地址&#xff1a; https://mvnrepository.com/

[个人笔记] VMware vCenter的CLI笔录

VMware虚拟化 - CLI笔录 VMware vCenter的CLI笔录 VMware虚拟化 - CLI笔录VMware vCenter的CLI笔录vCenter 6.7 Shell service-control服务管理的CLIvCenter 6.7 上传文件到ShellvCenter 6.7 Shell iptables防火墙管理vCenter 6.7 Shell 替换计算机SSL证书全流程other cli VMwa…

mgmt接口调用

mgmt接口调用 在bluetoothd启动是&#xff0c;会进行初始化&#xff0c;在这里会获取mgmt句柄来进行和内核之间的通信 8677 int adapter_init(void) 8678 { 8679 dbus_conn btd_get_dbus_connection();/*获取dbus连接后的句柄*/ 8680 /*获取mgmt句柄&#xff0c;用于…

10.点赞 + 我收到的赞

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

Spring Boot 整合RabbitMQ

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