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.hqwc.cn/news/229409.html

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

相关文章

ChatGPT到底是如何运作?

自从2022年11月30日发布以来,ChatGPT一直占据着科技届的头条位置,随着苹果的创新能力下降,ChatGPT不断给大家带来震撼,2023年11月7日,首届OpenAI开发者大会在洛杉矶举行,业界普遍认为,OpenAI的开…

Java程序连接 nacos集群

我们在bootstrap.yml文件里可以直接连一个nacos集群的. 架构如下 没错,我们程序直连的是通过Nginx的,利用nginx的反向代理来做到连接nacos集群. 我们先把nginx的配置贴上来 upstream cluster{server 127.0.0.1:8848;server 127.0.0.1:8849;server 127.0.0.1:8850; }server{l…

ACM程序设计课内实验(1)数学问题

1.The Hardest Problem Ever Description Julius Caesar生活在一个危险而又充斥着阴谋的时代。Caesar面对的最难的情况关系着他的存亡。为了让自己生存,他决心去创造第一种加密方法之一。这个加密方法听起来是这样的令人难以置信,没有一个人可以指出它&a…

基于微信小程序的爱心捐赠平台的设计与实现-计算机毕业设计源码64923

摘 要 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱, 小程序的爱心捐赠平台被用户普遍使用,为方便…

WebUI自动化学习(Selenium+Python+Pytest框架)003

1.元素操作 在成功定位到元素之后,我们需要对元素进行一些操作动作。常用的元素操作动作有: (1)send_keys() 键盘动作:向浏览器发送一个内容,通常用于输入框输入内容或向浏览器发送快捷键 (2…

[DASCTF 2023 0X401七月暑期挑战赛] web刷题记录

文章目录 EzFlask方法一 python原型链污染方法二 flask框架静态文件方法三 pin码计算 MyPicDisk方法一 字符串拼接执行命令方法二 phar反序列化 ez_cms EzFlask 考点:python原型链污染、flask框架理解、pin码计算 源码如下 import uuidfrom flask import Flask, re…

【EasyExcel实践】导出多个sheet到多个excel文件,并压缩到一个zip文件

文章目录 前言正文一、项目依赖二、封装表格实体和Sheet实体2.1 表格实体2.2 Sheet实体 三、核心实现3.1 核心实现之导出为输出流3.2 web导出3.3 导出为字节数组 四、调试4.1 构建调试用的实体类4.2 控制器调用4.3 测试结果 五、注册大数转换器,长度大于15时&#x…

游戏开发原画的设计方法

游戏原画设计是游戏开发中至关重要的一环,因为它直接影响到游戏的视觉吸引力和用户体验。以下是一些常见的游戏原画设计方法,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 理解游戏概念&…

学生护眼灯怎么选?2023备考护眼台灯推荐

近期,许多“护眼台灯是否是智商税”的帖子频繁出现,引起了许多群众的关注,作为一名护眼台灯资深使用者,在这里声明一下,护眼台灯绝对不是智商税。护眼台灯是通过调节光线亮度和色温,降低蓝光辐射&#xff0…

【黑马甄选离线数仓day07_常见优化手段及核销主题域开发】

1.常见优化手段 1.1 分桶表基本介绍 分桶表: 分文件的, 在创建表的时候, 指定分桶字段, 并设置分多少个桶, 在添加数据的时候, hive会根据设置分桶字段, 将数据划分到N个桶(文件)中, 默认情况采用HASH分桶方案 , 分多少个桶, 取决于建表的时候, 设置分桶数量, 分了多少个桶最终…

一维数组,逆序存放并输出【样例输入】20 30 10 50 40 90 80 70【样例输出】70 80 90 40 50 10 30 20

一维数组&#xff0c;逆序存放并输出 【样例输入】 20 30 10 50 40 90 80 70 【样例输出】 70 80 90 40 50 10 30 20 以下是使用C语言编写的将一维数组逆序存放并输出的示例代码&#xff1a; #include <stdio.h>void reverseArray(int arr[], int size) {int start…

深入剖析 Django 与 Flask 的选择之谜

概要 在现代 Web 开发的世界里&#xff0c;Python 作为一门极具灵活性和易用性的编程语言&#xff0c;催生了多个强大的 Web 框架&#xff0c;其中 Django 和 Flask 是最受欢迎的两个。但对于开发者来说&#xff0c;选择哪一个始终是一个令人费解的难题。本文将详细地对比这两…