apisix~相关组件的图形化说明

news/2024/12/28 23:57:24/文章来源:https://www.cnblogs.com/lori/p/18523416

参考:https://docs.api7.ai/apisix/key-concepts/plugins

Apache APISIX是Apache软件基金会下的顶级项目,由API7.ai开发并捐赠。它是一个高性能的云原生API网关,具有动态、实时等特点。

APISIX网关可作为所有业务的流量入口,为用户提供了丰富的功能,包括动态路由、动态上游、动态证书、A/B测试、灰度发布(金丝雀发布)、蓝绿部署、限速、防攻击、指标收集、监控报警、可观测性和服务治理等。基于Nginx和OpenResty构建的APISIX,通过Lua语言扩展了其功能,具有高性能和低延迟的特点,是构建现代微服务架构的理想选择。

接下来本文将介绍如何安装并运行APISIX!
APISIX基础概念
上游(Upstream)

上游是指应用层服务或节点的抽象。它的作用是对服务节点进行负载均衡,以确保请求能够被有效地处理。在APISIX中,上游的地址信息可以直接配置到路由或服务上。通过创建上游对象,可以在多个路由或服务中共享相同的上游配置,从而简化管理和维护。
路由(Route)

路由是APISIX中最核心的资源对象之一。它定义了请求的匹配规则,并根据匹配结果执行相应的操作。路由通常包含以下三个重要部分:

匹配规则:用于确定请求是否与路由匹配。
插件配置:用于在请求生命周期中执行特定的逻辑操作。
上游信息:指定请求应该被转发到哪个上游服务。

通过路由的配置,可以实现诸如路由转发、请求过滤、流量控制等功能。
服务(Service)

服务是某类API的抽象,通常与上游服务一一对应。它定义了API的基本信息,包括访问路径、后端服务地址等。路由与服务之间的关系通常是N:1的,即多个路由可以引用同一个服务。
消费者(Consumer)

消费者是指使用API服务的客户端。消费者需要进行认证并获得访问权限,才能够使用API提供的服务。在APISIX中,消费者可以与插件或上游服务进行绑定,从而实现个性化的访问控制和流量管理。
插件(Plugin)

插件是扩展APISIX应用层能力的重要机制。它们在请求或响应的生命周期中执行特定的逻辑操作,以实现诸如请求转发、请求修改、流量控制等功能。插件可以与路由、服务或消费者进行绑定,以实现个性化的功能定制和流量处理。
Admin API

APISIX 提供了 Admin API 和直观的 Dashboard,这些工具使得配置 Apache APISIX 路由、上游、服务、SSL 证书等功能变得简单而直观。

通过 Admin API,用户可以轻松地获取、创建、更新和删除资源。APISIX 具有热加载能力,这意味着在资源配置完成后,APISIX 会自动更新配置,无需重新启动服务。Dashboard 则提供了可视化界面,用户可以直观地管理和监控 APISIX 的各项功能。

Admin API 和 Dashboard 的使用使得对 API 网关的管理变得高效且易于维护。通过这些工具,用户可以根据需要动态地调整和优化 API 网关的配置,从而满足不同的业务需求。

LB到APISIX到后端服务

  • apisix-gatewary(k8s-service)默认容器端口9080,统一流量入口
  • apisix-admin(k8s-service)默认容器端口9180,apisix管理的入口api
  • apisix-etcd,这是apisix的数据存储

具体DNS到后端服务

APISIX的架构设计如下所示:

其中,APISIX 核心包括路由匹配、负载均衡、服务发现、API 管理等重要功能,以及配置管理等基础模块。同时,APISIX 还提供了丰富的内置插件,涵盖了可观测性、安全、流量控制等方面。

Admin API 和 Dashboard 为用户提供了一种简单而强大的方式,使得用户可以轻松地管理和配置他们的 API 网关,从而更好地满足业务需求。

Plugins Execution Lifecycle

An installed plugin is first initialized. The configuration of the plugin is then checked against the defined JSON Schema to make sure the plugins configuration schema is correct.

When a request goes through APISIX, the plugin's corresponding methods are executed in one or more of the following phases : rewrite, access, before_proxy, header_filter, body_filter, and log. These phases are largely influenced by the OpenResty directives.

apisix和认证服务

routes

upstreams

services

plugins

plugin configs

consumers

consumer groups

SSL Certificates

TLS Between Client Applications and APISIX

mTLS Between APISIX and Upstreams

When a certificate, such as a wildcard certificate, is valid for multiple domains, it is recommended to create a single SSL object to store the certificate and key and avoid the repetitive TLS configurations on upstreams:

Secrets

Stream Routes

![])(https://static.apiseven.com/uploads/2023/04/28/NxlpM4Yf_stream_routes.svg)

Protos

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

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

相关文章

Django Swagger文档库drf-spectacular

在使用DRF的时候,通常的文档有:默认文档RestFrameWork、CoreAPI、Swagger,Swagger是最流行的API文档库,在绝大多数服务端开发中都有用到,之前我们使用了CoreAPI来生成文档,一方面是它不够流行,没办法和其他工具结合,另一方面可能是我不熟悉,所有有些接口并不能按照我们…

Redis常见面试题:ZSet底层数据结构,SDS、压缩列表ZipList、跳表SkipList

String类型底层数据结构,List类型全面解析,ZSet底层数据结构;简单动态字符串SDS、压缩列表ZipList、哈希表、跳表SkipList、整数数组IntSet文章目录 一、Redis数据结构概述1.1 Redis有哪些数据类型 1.2 Redis本质是哈希表 1.3 Redis的哈希冲突与渐进式rehash 1.4 数据结构底…

AQS

目录AQS简介AQS原理AbstractQueuedSynchronizer类state共享变量CLH队列Node属性独占式分析acquire独占式获取锁tryAcquireaddWaiterenqacquireQueuedshouldParkAfterFailedAcquireparkAndCheckInterruptfinally代码块selfInterruptrelease独占式锁释放unparkSuccessoracquireln…

高级语言程序设计第5次作业

高级语言程序设计课程第四次个人作业 这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/2024C/ 这个作业要求在哪里:https://edu.cnblogs.com/campus/fzu/2024C/homework/13298 学号:102300303 姓名:梁佳 第八章第1题第2题第3题第4题第5题第6题第7题第8题第九章第…

利用前馈神经网络(FNN)进行气温预测任务

一、前馈神经网络 前馈神经网络(Feedforward Neural Networks, FNN)是人工神经网络中的一种,它的信息流动是单向的,从输入层到隐藏层,再到输入层,没有反向的连接。其中,隐藏层可以有多个,用于处理输入层的数据,且每一个隐藏层通常配合一个非线性的激活函数来进行训练。…

CoSeR桥接图像和语言以实现认知超分辨率

CoSeR桥接图像和语言以实现认知超分辨率 6.10.1 CoSeR桥接图像和语言以实现认知超分辨率概述 现有的超分辨率(SR)模型主要侧重于恢复局部纹理细节,往往忽略了场景中的全局语义信息。这种疏忽可能会导致在恢复过程中遗漏关键的语义细节或引入不准确的纹理。 引入了认知超分辨…

综合、诊断和优化:迈向精细视觉语言理解

综合、诊断和优化:迈向精细视觉语言理解 6.8.1 综合、诊断和优化:迈向精细视觉语言理解概述视觉语言模型(VLM)在各种下游任务中表现出了卓越的性能。然而,理解细粒度的视觉语言概念,如属性和对象间关系,仍然是一个重大的挑战。虽然有几个基准旨在以更精细的粒度评估VLM,…

Nuxt.js 应用中的 nitro:init 事件钩子详解

title: Nuxt.js 应用中的 nitro:init 事件钩子详解 date: 2024/11/3 updated: 2024/11/3 author: cmdragon excerpt: nitro:init 是 Nuxt 3 中的一个生命周期钩子,在 Nitro 初始化完成后被调用。这个钩子允许开发者注册 Nitro 钩子,并直接与 Nitro 进行交互。这种灵活性使…

【人脸伪造检测后门攻击】Imperceptible Face Forgery Attack via Adversarial Semantic Mask

原文Github地址:https://github.com/clawerO-O/ASMA一、研究动机 ​ 目前的后门攻击模型是基于数字像素上的操作,例如增加噪声,从而使得深度模型在推理阶段表现为不正常,但这种attack隐蔽性很差,可以被人眼所观察到。因为这些模型是在整个面部区域增加对抗性扰动,增加了许…

MTR: 网络排查神器 / 网络诊断工具介绍

原创 晓致知 电脑知识MTR(My Traceroute)是一款功能全面且高效的网络诊断工具,它巧妙地将traceroute和ping的功能融为一体。通过MTR,用户可以实时追踪数据包在网络中的传输路径,清晰地看到数据包从源地址到目标地址所经过的所有节点。同时,MTR还能提供详细的网络性能指标…

随想

日复又一日,重复再重复。

相册

国风版,相册 好看的你