API网关:开源Apinto网关快速入门

news/2024/7/10 19:48:33 标签: 开源, API

Apinto网关基于GO语言模块化开发,5分钟极速部署,配置简单、易于维护,支持集群与动态扩容,开箱即用。Apinto除了提供丰富的网关插件外,还提供监控告警、用户角色等扩展应用,同时支持自定义网关插件和可扩展业务应用,满足我们企业的定制化需求。

本文将从Apinto网关的安装部署、功能模块以及Apinto应用三个方面进行说明。

1、安装部署

Apinto部署地址:部署 | APINTO

Apinto Dashboard 部署地址:https://help.apinto.com/docs/dashboard-v2/quick/arrange.html

2、功能模块

 

网关集群由多个Apinto网关节点构成,网关控制台配置各个功能模块,把数据发布到各个网关集群生效。

集群管理:管理各个环境的集群,给集群配置证书、配置并发布该集群下的环境变量、监控并管理集群下各个网关节点、配置管理等。

上游服务:上游管理和服务发现。服务发现支持consul、eureka、nacos注册中心;上游管理是管理所有提供API调用的后端系统,都需要上线到指定的集群才生效;

API管理:支持业务域分组,管理所有后端系统提供的API及其生命周期,根据业务上下线到相应的集群。

应用管理:管理所有调用方,配置请求网关的鉴权,以及支持转发后端的额外参数鉴权,上下线到指定集群生效。

服务治理:针对不同集群配置并上线限流、访问、熔断、灰度、缓存等策略,保障网关集群以及后端系统稳定工作。

扩展应用:提供并支持自定义业务型扩展应用供用户安装使用,业务型应用如:用户角色、监控告警、日志、API文档、开放平台、安全防护、数据分析、调用链、mock、在线调测、安全测试、国密、多协议。

系统管理:配置邮箱,配置告警模板等。

3、Apinto应用

前提条件已经部署好Apinto网关节点群和控制台,并且运行程序,Apinto网关控制台主流程配置如下图所示:

 

主流程有四步,完成这四步就可以试着调用API,看网关能否成功转发API到后端系统。

3.1 配置网关集群

第一步:在浏览器输入控制台访问页面进入控制台页面。

 

第二步:再点击基础设施菜单,展开后再点击集群管理进入集群管理列表页面,我们直接创建集群,操作如下图所示:

 

第三步:新建集群如下图所示:

 

3.2 配置并发布上游服务

第一步:点击上游服务菜单,展开后再点击上游管理进入上游管理列表页面,如下图所示:

 

  第二步:点击新建上游,我们以静态节点说明,配置如下图所示:

 

  部分字段说明:

字段名称

字段描述

上游名称

上游服务名称不能使用中文,因为系统用它作为该上游服务的唯一标识读取或更新数据

请求协议

后端系统API的协议,支持HTTP/HTTPS

负载算法

多目标节点,支持轮询算法

服务发现

支持静态节点类型和动态服务类型,该项可选值为静态节点、服务发现列表名称数据

目标节点

提供API响应后端系统的主机名/IP+端口号;如果有多个目标节点,则可以通过配置‘权重’来规划每个节点承载的流量比例;目标节点也可以通过引用环境变量,引用的环境变量通过配置格式:{域名/ip}:{port} {weight},多个以‘;’隔开

请求超时时间

网关请求到后端系统的超时时间

  第三步:把刚配置好的上游发布到集群,如下图如示:

 

3.3 配置并发布API

API管理是管理所有上游提供的API生命周期功能,提供按业务域分类管理、添加API、单个或批量API从不同集群上下线等功能。

第一步:点击左侧导航API管理,进入API管理页面:

 

第二步:新建API

 

部分字段说明:

字段名称

字段描述

所属分组

可根据上游或业务域进行分组

API名称

可输入中英文名称

请求路径

API的URI,用于应用请求URL中的相对路径

绑定上游服务

可选值是上游服务列表,请求转发到上游,API所属上游服务

请求方式

支持常见HTTP请求方式GET、POST、PUT、DELETE等,支持多选

转发上游路径

上游服务提供对应的API相对路径,默认转发上游路径继承请求路径

请求超时时间

定义网关转发请求到上游至响应的单次消耗时间

重试次数

当转发请求到上游失败时,网关会自动触发重试转发请求,最大次数不超过重试次数

高级匹配

支持通过请求头,请求参数、Cookie 进行路由匹配,可添加多条,应用于灰度发布

转发上游请求头

可对转发上游请求头进行新建、编辑以及删除参数,主要应用于网关与上游间鉴权

新建的testnews的API如下图所示:

 

第三步:上线该API到集群:

 

3.4 调用API

在测试转发testnews这个API前,我们先测试直接调用后端这个API,测试结果如下图所示:

 

说明后端这个服务的API是正常可以调用的。

3.4.1 获取testnews完整调用地址

调用API的URL:网关节点的服务地址+API的请求路径:

第一步:获取服务地址:

 

第二步:获取testnews的请求路径:

 

第三步:拼接地址,得到testnews这个API的完整请求路径:网关节点的服务地址+API的请求路径

3.4.2 用API研发管理工具Apikit来测试

 

测试结果与浏览器访问结果一致,表明网关转发功能正常

4、总结

Apinto网关开箱即用,整个过程仅用2个小时就能快速入门,至于其他功能后续再进行研究!

喜欢或感兴趣的小伙伴们赶紧去下载安装体验吧!

为了支持Apinto团队提供更好的开源体验,记得fork一下噢。

开源地址:https://github.com/eolinker/apinto


http://www.niftyadmin.cn/n/185046.html

相关文章

【JAVA】#详细介绍!!!带你理解什么是CAS+代码讲解+经典面试题

本节介绍🔚: 什么是CAS机制 CAS机制的作用(无锁编程) CAS实现自旋锁 有关CAS机制的面试题等知识 目录 ​编辑 一:CAS 1.1 什么是CAS 1.2 CAS是怎么实现原子性的 1.3 JAVA中基于CAS实现的原子类介绍 1.4 用CAS实现…

【华为OD机试真题JAVA】数组元素按十进制最低位排序问题

标题:数组元素按十进制最低位排序问题 | 时间限制:1秒 | 内存限制:262144K | 语言限制:不限 给定一个非空数组(列表) 起元素数据类型为整型 请按照数组元素十进制最低位从小到大进行排序 十进制最低位相同的元素,相对位置保持不变 当数组元素为负值时,十进制最低为等同于…

SpringMVC框架(全部基础知识)

目录 什么是MVC SpringMVC概述 SpringMVC常见开发方式 SpringMVC执行流程 SpringMVC核心组件介绍 快速构建Spring MVC程序 SpringMVC参数绑定 SpringMVC跳转方式 SpringMVC处理json请求和响应 SpringMVC静态资源处理 SpringMVC操作session和cookie SpringMVC拦截器 …

数字化运营与可视化管理的区别

在我国发展迅速,以5G、云计算、大数据、物联网等为代表的技术引发了一轮新型基础设施建设,为企业管理运营的方式带来了不同。从宏观层面来讲,新的技术的引入会带来新的运营模式,一大批新模式、新形态与新业务诞生。微观层面上&…

怎样用postman做接口测试,一篇足矣

常用的接口测试工具主要有以下几种: Postman: 简单方便的接口调试工具,便于分享和协作。具有接口调试,接口集管理,环境配置,参数化,断言,批量执行,录制接口,Mock Server…

【Linux系统:进程控制】

目录 1 进程创建 1.1 fork函数 1.2 写时拷贝 1.3 fork常规用法 1.4 fork调用失败的原因 2 进程终止 2.1 进程退出场景 2.2 进程常见退出方法 3 进程等待 3.1 进程等待必要性 3.2 进程等待的方法 3.2.1 wait方法 3.2.2 waitpid方法 3.3 获取子进程status 4 进程程序替…

2023/3/28总结

题解 Problem - A - Codeforces 1.这一题没有规律&#xff0c;我们只需要每次都去变量a数组和b数组当前的下标是否小于&#xff0c;自己的数组最后一个值&#xff0c;或者说小于对方数组的最后一个值即可。 #include<stdio.h> #define N 110 int a[N],b[N]; int main(…

文件操作(详解)

前言&#xff1a;内容包括&#xff1a;为什么使用文件&#xff0c;什么是文件&#xff0c;文件的打开和关闭&#xff0c;文件的顺序读写&#xff0c;文件的随机读写&#xff0c;文本文件和二进制文件,文件读取结束的判定&#xff0c;文件缓冲区 目录 为什么使用文件 什么是文…