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

API网关:开源Apinto网关快速入门的更多相关文章

  1. 阿里云API网关(4)快速入门(开放 API)

    网关指南: https://help.aliyun.com/document_detail/29487.html?spm=5176.doc48835.6.550.23Oqbl 网关控制台: https ...

  2. Yii2框架RESTful API教程(一) - 快速入门

    前不久做一个项目,是用Yii2框架写一套RESTful风格的API,就去查了下<Yii 2.0 权威指南 >,发现上面写得比较简略.所以就在这里写一篇教程贴,希望帮助刚接触Yii2框架RE ...

  3. 阿里云API网关(3)快速入门(调用 API)

    网关指南: https://help.aliyun.com/document_detail/29487.html?spm=5176.doc48835.6.550.23Oqbl 网关控制台: https ...

  4. Slickflow.NET 开源工作流引擎快速入门之三: 简单或分支流程代码编写示例

    前言:对于急切想了解引擎功能的开发人员,在下载版本后,就想尝试编写代码,完成一个流程的开发和测试.本文试图从请假流程,或分支模式来快速了解引擎代码的编写. 1. 创建或分支流程图形 或分支流程是常见的 ...

  5. Slickflow.NET 开源工作流引擎快速入门之二: 简单并行分支流程代码编写示例

    前言:对于急切想了解引擎功能的开发人员,在下载版本后,就想尝试编写代码,完成一个流程的开发和测试.本文试图从一个最简单的并行分支流程来示例说明,如何快速了解引擎代码的编写. 版本:.NET Core2 ...

  6. Slickflow.NET 开源工作流引擎快速入门之一: 简单序列流程代码编写示例

    前言:对于急切想了解引擎功能的开发人员,在下载版本后,就想尝试编写代码,完成一个流程的开发和测试.本文试图从一个最简单的流程来示例说明,如何快速了解引擎代码的编写. 版本: .NETCore 2.1 ...

  7. Camunda开源流程引擎快速入门——Hello World

    市场上比较有名的开源流程引擎有osworkflow.jbpm.activiti.flowable.camunda.由于jbpm.activiti.flowable这几个流程引擎出现的比较早,国内人用的 ...

  8. Slickflow.Graph 开源工作流引擎快速入门之四: 图形编码建模工具使用手册

    前言: 业务人员绘制流程时,通常使用图形GUI界面交互操作来完成,然而对于需要频繁操作或者管理较多流程的系统管理用户,就需要一款辅助工具,来帮助他们快速完成流程的创建和编辑更新.Slickflow.G ...

  9. Sequelize 中文API文档-1. 快速入门、Sequelize类

    1. https://itbilu.com/nodejs/npm/VkYIaRPz-.html#api-init 2. http://docs.sequelizejs.com/manual/tutor ...

  10. AngularJS快速入门指南16:Bootstrap

    thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...

随机推荐

  1. JAVA第六七八次大作业

         21201411-李英涵            前言:这几次的作业较为简单,主要思路就是利用正则表达式来过滤掉不需要的信息.  题量设置较为合理,比之前的多边形好做一些,应该是老师为了捞起来 ...

  2. oracle-11.2.0.4静默安装----RedHat7.5

    1.配置/etc/hosts文件和关闭seliux和firewall防火墙 编辑/etc/hosts文件 [root@henry ~]# vim /etc/hosts [root@henry ~]# ...

  3. kubernetes系列—Ubuntu下搭建Kubernetes集群--k8s部署

    1.kubernetes安装介绍 1.1 K8S架构图 1.2 K8S搭建安装示意图 2.安装kubernetes 2.1  关闭防火墙 在每台机器上关闭防火墙: ① 关闭服务,并设为开机不自启 $ ...

  4. 用js获取当前路由信息的方法

    1,设置或获取对象指定的文件名或路径.alert(window.location.pathname)2,设置或获取整个 URL 为字符串.alert(window.location.href);3,设 ...

  5. DEM高程数据下载资源

    最近发现了几个比较好的DEM高程数据免费下载资源,遂总结一下. clouldRF(https://cloudrf.com/terrain%20data)官方网站有说明其支持的地形数据来源,主要包括如下 ...

  6. vue 项目页面刷新router-view控制

    vue项目开发过程中,需要在页面提交表单信息之后清空还原,即恢复页面初始状态,第一想法就是对当前页面刷新,重新加载. 想起location.reload()方式和this.$router.go(0)方 ...

  7. 数据库自动备份,crontab定时任务

    查看crontab运行状态service crond status 查看当前用户的crontab,输入 crontab -l: 编辑crontab,输入 crontab -e: 删除crontab,输 ...

  8. js字符串常用的方法

    1.  charAt( ) 获取指定下标处的字符 let str = 'hello' console.log(str.charAt(0));//h 2.  charCodeAt 获取下标出的字符的Un ...

  9. pintia 3-7-5 逆波兰表达式求值 (20 分)

    3-7-5 逆波兰表达式求值 (20 分) 逆波兰表示法是一种将运算符(operator)写在操作数(operand)后面 的描述程序(算式)的方法.举个例子,我们平常用中缀表示法描述的算式(1 + ...

  10. python C# DES 加密转换

    import time import base64 import pyDes import binascii def DESEncrypt(desKey, target): key = desKey[ ...