VX-API-Gateway开源网关技术的使用记录

news/2025/1/12 17:45:58/

VX-API-Gateway开源网关技术的使用记录

在这里插入图片描述

官网地址 https://mirren.gitee.io/vx-api-gateway-doc/

VX-API-Gateway(以下称为VX-API)是基于Vert.x (java)开发的
API网关,
是一个分布式、全异步、高性能、可扩展、轻量级的可视化配置的API网关服务

官网下载程序zip包

访问 https://gitee.com/mirren/VX-API-Gateway/releases

下载最新的程序zip包

在这里插入图片描述

安装和使用

找个目录解压程序包

在这里插入图片描述

启动程序bin目录里的start.bat或start.sh

在这里插入图片描述
在这里插入图片描述

浏览器访问5256端口

在这里插入图片描述
点击进入首页后,会进入
http://localhost:5256/static/Application.html
提示要登录,默认账号是VXAdmin,密码是hivx
在这里插入图片描述

登录密码在安装目录的conf下的user.json中配置
在这里插入图片描述

登录后可以新建应用

新建应用是指 你的vx-api-gateway网关要对接的服务名或应用名以及相关信息配置

创建应用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
vx网关代理的http参数设置,都可以不填,会自动使用默认参数设置,(如需修改可以按需填写)
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
应用创建好后,可以在应用列表中看到

创建应用下的API代理

点击API管理,可以在刚刚建的应用上创建API
在这里插入图片描述
在这里插入图片描述

创建一个get请求代理

目标:访问/sgate/t1 后自动代理到真实后端的/demo/t1

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
代理API的的返回结果配置不用特别修改,默认会自动返回后端真实API的数据

在这里插入图片描述
创建完成后,可以在api列表里看到
最后,要启用刚刚建的应用和应用下的API代理

在应用详情页面点击启动应用
在这里插入图片描述
在API详情页面点击启动某个API代理
在这里插入图片描述
启动完成后,点击运行状态页面,可以观察到当前vx-api-gateway的运行状态
在这里插入图片描述
最后可以使用postman测试是否代理成功
访问
http://127.0.0.1:8330/sgate/t1 后
自动代理到真实后端的
http://127.0.0.1:8085/demo/t1
返回后端真实服务接口的数据

在这里插入图片描述
实测发现可以代理成功,请求耗时188ms

在API详情页也可以看到相关的网关日志如下
在这里插入图片描述

VX-API-Gateway技术架构

应用Application

应用可以理解为分组,是VX-AP中的一个运行单元,一个应用相当于一个服务器(Server)不同的是他的端口号允许被重复使用,也就是说在VX-API中一个端口号可以给任意应用绑定(前提是这个端口号没有被别的程序绑定),应用用于管理API
访问http://localhost:端口号(默认5256)/static/Application.html或者通过http://localhost:端口号(默认5256)进入后便可以查看与管理应用

API接口

API是VX-API的服务核心,创建应用后便可以在应用的API管理中创建API;
当前版本中API支持三种服务类型,
HTTP/HTTPS服务(既VX-API需要去请到后台服务器的类型):参数检查与透传,支持带权重的负载均衡访问策略,轮询与IP哈希化,自动断路与重试不可用的后台服务地址
页面跳转服务:当用户访问时redirect到指定页面
自定义服务:可以自定义任意服务,当前版本中实现了,基于session-token的认证授权,获取服务器时间戳,与获取常量
同时API支持全局黑名单,流量限制,权限认证,自定义前置/后置处理器等

API的执行流程

在这里插入图片描述
绿线代表一定会执行,黑线代表当存在时执行,当用户请求的时候,完整的流程按组件顺序由1开始执行到7,如果不满足任意一个组件时请求结束并响应(fail-end-response),当任意组件出现异常时统一进入异常组件(Exception Handler)请求结束并响应错误信息
更多API的执行流程介绍参考下方API组件介绍

总结

VX-API-Gateway 是一个轻量的,支持可视化配置的网关代理服务。
可以代理多个后端应用,同时可以对每个后端应用的API做精细化的API代理配置。
由于VX-API-Gateway 底层使用的是vert.x技术,所以不必担心性能问题

http://www.ppmy.cn/news/1008859.html

相关文章

笙默考试管理系统-MyExamTest(27)

笙默考试管理系统-MyExamTest(27) 目录 一、 笙默考试管理系统-MyExamTest 二、 笙默考试管理系统-MyExamTest 三、 笙默考试管理系统-MyExamTest 四、 笙默考试管理系统-MyExamTest 五、 笙默考试管理系统-MyExamTest 笙默考试管理系统-MyEx…

嵌入式开发学习(STC51-15-红外遥控)

内容 使用外部中断功能,使按下红外遥控器,将对应键值编码数据解码后通过数码管显示 红外遥控介绍 红外线简介 人的眼睛能看到的可见光按波长从长到短排列,依次为红、橙、黄、绿、青、蓝、紫; 其中红光的波长范围为 0.62&…

Django架构图

1. Django 简介 基本介绍 Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架 使用 Django,只要很少的代码,Python 的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的 Web 服务 Django 本身…

使用七牛云、阿里云、腾讯云的对象存储上传文件

说明:存在部分步骤省略的情况,请根据具体文档进行操作 下载相关sdk composer require qiniu/php-sdkcomposer require aliyuncs/oss-sdk-php composer require alibabacloud/sts-20150401composer require qcloud/cos-sdk-v5 composer require qcloud_s…

Redis | 主从模式

Redis | 主从模式 1. 简介 Redis主从模式(Replication)是Redis提供的一种数据备份和高可用性解决方案。通过主从复制,可以将一个Redis服务器的数据复制到其他多个从服务器,从而实现数据的备份和读写分离,提高系统的性…

Spring Boot读取yml或者properties配置信息

文章目录 Spring Boot读取yml或者properties配置信息方法一:Value获取基本信息,适用于少量信息方法二:通过注解ConfigurationProperties(prefix "spring.datasource")方法三:通过api Environment Spring Boot读取yml或…

Android查漏补缺

(1)android apk编译步骤 ①,aapt工具生成.R文件 ②,javac编译为字节码 ③,dex工具打包为.dex文件 ④,aapt工具打包资源未见为.ap文件 ⑤,apkbuilder工具打包为apk文件 ⑥,keyt…

Linux 内核音频数据传递主要流程

Linux 用户空间应用程序通过声卡驱动程序(一般牵涉到多个设备驱动程序)和 Linux 内核 ALSA 框架导出的 PCM 设备文件,如 /dev/snd/pcmC0D0c 和 /dev/snd/pcmC0D0p 等,与 Linux 内核音频设备驱动程序和音频硬件进行数据传递。PCM 设…