微服务API网关---APISIX

2024-02-29 10:36
文章标签 服务 api 网关 apisix

本文主要是介绍微服务API网关---APISIX,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近在做微服务调研,看到了apisix这个网关,于是进行了初步了解一下。
微服务是指,将大型应用分解成多个独立的组件,其中每个组件都各自的负责对应项目。
系统的架构大致经历了:单体应用架构–> SOA架构 -->微服务架构的演变。随着业务发展,API的数量也在剧增,使用网关对API统一管理也将面临挑战,选择一个更强大的API网关,可以有效的增强系统的监控、容灾、鉴权和限流等能力。

API网关是什么?
为客户端与服务系统之间的交互提供统一的接口,也是管理请求和响应的中心点,选择一个合适的API网关,可以有效地简化开发并提高系统的运维与管理效率。API网关作为一个系统访问的切面,对外提供统一的入口访问,隐藏系统架构实现的细节,让微服务使用更为友好;并集成了通用特性,鉴权,限流,熔断,避免每个微服务单独开发,提升效率,使系统更加标准化,单独注重业务。

在这里插入图片描述

进入正文,今天主要了解APISIX网关。

APISIX是一个动态、实时、高性能的云原生API网关,提供了负载均衡、动态上游、灰度发布、服务熔断、身份认证、可观测性等丰富的流量管理功能。可以使用 Apache APISIX 处理传统的南北向流量,也可以处理服务间的东西向流量。

架构主要分为两部分:
第一部分叫做数据面,它是真正去处理客户端请求的组件,去处理用户的真实流量,包括像身份验证、证书卸载、日志分析和可观测性等功能。 不会存储数据。
第二部分是控制面,使用的etcd存储,数据面监听etcd变化即可。
在这里插入图片描述

APISIX的主要概念和组件
Route【路由】: 通过路由定义规则来匹配客户端请求,根据匹配结果加载并执行相应的插件,最后把请求转发给指定的上游服务。
Upstream【上游】:按照配置规则对服务节点进行负载均衡,它的地址信息可以直接配置到路由或服务上。

入门安装
1.先安装apisix
2.再安装apisix dashboard
在这里插入图片描述
在这里进行路由和上游的配置即可进行简单的网关。

方式一,直接进行路由配置:
在这里插入图片描述

配置名称和路径

然后配置服务
在这里插入图片描述

进行提交,即可完成一个完整的服务路由转发。
在这里插入图片描述

我们通过postman进行测试
在这里插入图片描述

方式二,也可以先配置好上游
在这里插入图片描述
配置好后,在路由的时候选择服务即可。两者功能一致。

https://httpbin.org/#/Anything/get_anything,是apisix官方提供的测试服务,用于测试我们是否配置路由成功。

还可以进行服务注册,在选服务的时候,选择服务类型,就可以勾选nacos,eureka等。便于大型公司技术栈没有统一的使用场景
在这里插入图片描述
使用nacos的话,需要在apisix的配置文件 conf/config.yaml中添加nacos配置
discovery:
nacos:
host:
‐ “http:// u s e r n a m e : {username}: username:{password}@ h o s t 1 : {host1}: host1:{port1}”

以上就是简单的入门apisix功能。
后续的一些插件功能,比如限流,黑白名单之类都是插件实现。

这篇关于微服务API网关---APISIX的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/758477

相关文章

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

Spring LDAP目录服务的使用示例

《SpringLDAP目录服务的使用示例》本文主要介绍了SpringLDAP目录服务的使用示例... 目录引言一、Spring LDAP基础二、LdapTemplate详解三、LDAP对象映射四、基本LDAP操作4.1 查询操作4.2 添加操作4.3 修改操作4.4 删除操作五、认证与授权六、高级特性与最佳

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

SpringCloud之LoadBalancer负载均衡服务调用过程

《SpringCloud之LoadBalancer负载均衡服务调用过程》:本文主要介绍SpringCloud之LoadBalancer负载均衡服务调用过程,具有很好的参考价值,希望对大家有所帮助,... 目录前言一、LoadBalancer是什么?二、使用步骤1、启动consul2、客户端加入依赖3、以服务

Nginx配置系统服务&设置环境变量方式

《Nginx配置系统服务&设置环境变量方式》本文介绍了如何将Nginx配置为系统服务并设置环境变量,以便更方便地对Nginx进行操作,通过配置系统服务,可以使用系统命令来启动、停止或重新加载Nginx... 目录1.Nginx操作问题2.配置系统服android务3.设置环境变量总结1.Nginx操作问题

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

springboot的调度服务与异步服务使用详解

《springboot的调度服务与异步服务使用详解》本文主要介绍了Java的ScheduledExecutorService接口和SpringBoot中如何使用调度线程池,包括核心参数、创建方式、自定... 目录1.调度服务1.1.JDK之ScheduledExecutorService1.2.spring

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.