VX-API-Gateway 1.0.0 发布,全异步API网关

栏目: 软件资讯 · 发布时间: 6年前

内容简介:VX-API-Gateway是基于Vert.x3.5.1(java)开发的API网关,是一个集分布式,全异步,高性能,可扩展 ,轻量级的API网关 网关的执行流程灵感部分参考了阿里云的API网关; 软件使用说明 VX-API-Gateway使用帮助文档 VX-API 执...

VX-API-Gateway是基于Vert.x3.5.1(java)开发的API网关,是一个集分布式,全异步,高性能,可扩展 ,轻量级的API网关

网关的执行流程灵感部分参考了阿里云的API网关;

软件使用说明

VX-API-Gateway使用帮助文档

VX-API 执行流程

VX-API-Gateway 1.0.0 发布,全异步API网关
绿线代表一定会执行,黑线代表当存在时执行,当用户请求的时候,完整的流程按组件顺序由1开始执行到7,如果不满足任意一个组件时请求结束并响应(fail-end-response),当任意组件出现异常时统一进入异常组件(Exception Handler)请求结束并响应错误信息
API的执行流程参考组件介绍

组件介绍

1.黑名单检查

该组件永远会被执行! 用户请求时第一步先经过黑名单检查,VX-API会读取请求中的remote Address并获取用户的host(也就是获取用户的IP地址),如果用户的IP地址在全局黑名单中,结束请求并响应状态码:404,状态信息:you can't access this service;反则继续执行处理...

2.访问限制

当创建API时开启了访问限制,该组件会被执行! 访问限制单位分别为:天/小时/分;可以设置API与IP限制,IP的限制不能大于API的限制;
假设开启API限制:1分钟可以访问1000次;如果1分钟内访问次数大于1000将结束请求并响应请求(响应内容为:创建API中定义API返回结果:访问限制返回);反则继续执行处理...

3.参数检查

当创建API时如果在定义API请求中添加了入参定义,该组件会被执行! 组件会根据入参定义规定的格式检查请求中的参数;
如果参数不符合入参定义结束请求并响应请求(响应内容为:创建API中定义API返回结果:网关入口参数检查失败返回);反则继续执行处理...

4.权限认证

当创建API时开启了安全认证,该组件会被执行! 组件会将流程交给权限认证插件,权限认证插件负责做相关处理后决定将流程交给下一个组件处理或结束请求

5.前置处理器

当创建API时开启了前置处理器,该组件会被执行! 组件会将流程交给前置处理器插件,前置处理器插件负责做相关处理后决定将流程交给下一个组件处理或结束请求

6.中心处理器(主处理器)

当前面的组件都执行通过时,该组件永远会被执行! 组件会根据服务类型做相应的处理,处理完毕后组件会判断是否开启了后置处理器,如果开启了后置处理器,组件会将流程交给后置处理器,并传递一个标识告诉后置处理器当前组件处理的结果;反则结束请求并返回服务结果;

7.后置处理器

当创建API时开启了后置处理器,该组件会被执行! 该组件是正常流程的最后一个组件,组件会收到主处理器的执行结果,组件做完相应操作后必须做对请求的响应用户的请求;

8.异常处理器

当以上任意组件在执行的过程中出现了异常,该组件会被执行! 组件会结束请求并响应请求(响应内容为:创建API中定义API返回结果:发生异常/失败返回);

服务类型介绍

服务类型指网关主处理器要处理的类型,详情参考类型以下的介绍

HTTP/HTTPS

表示后台服务是常见的HTTP/HTTPS,也就是网关要将用户的请求发送的目的地,该服务支持带权重的负载均衡支持轮询与哈希策略(默认轮询),自动断路并重试连接;当网关请求后台服务地址失败时会提交给策略,如果同一个服务地址失败两次及以上时,会被策略移除,网关会检测策略中是否存在不可用的服务地址,如果存在会根据设定的重试时间进行重试,重试后如果服务地址可用则将服务地址重新添加到策略中

页面跳转

该服务用于做链接重定向,当用户请求该服务的API时会,网关会返回状态302,告诉浏览器跳转到指定的URL;

自定义服务

自定义服务其实跟前置处理器实现的功能差不多,因为前置处理器可以做完相应处理后响应用户请求,自定义服务中提供了三个默认的实现,分别为获取网关时间戳,返回常量值与Session认证的授权

性能测试

后台服务输出hello
Nginx Stable1.12.0 配置
VX-API-Gateway 1.0.0 发布,全异步API网关
阿里云 centos 7 1G内存1核1兆带宽环境 ab -n 1000 -c 1000 执行结果
Nginx:ab结果
VX-API-Gateway 1.0.0 发布,全异步API网关
VX-API: JVM -Xms512m -Xmx512m 其他默认 ab结果
VX-API-Gateway 1.0.0 发布,全异步API网关
Windows 10 8核8G内存 环境 ab -n 100000 -c 2000 执行结果
Nginx:ab结果
VX-API-Gateway 1.0.0 发布,全异步API网关
VX-API: JVM -Xms2G -Xmx2G 其他默认 ab结果
VX-API-Gateway 1.0.0 发布,全异步API网关


【声明】文章转载自:开源中国社区 [http://www.oschina.net]


以上所述就是小编给大家介绍的《VX-API-Gateway 1.0.0 发布,全异步API网关》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

产品经理手册(原书第4版)(白金版)

产品经理手册(原书第4版)(白金版)

[美] 琳达·哥乔斯(Linda Gorchels) / 祝亚雄、冯华丽、金骆彬 / 机械工业出版社 / 2017-8 / 65.00

产品经理的职责起点是新产品开发,贯穿产品生命周期的全过程。本书按上下游产品管理进行组织。 在上游的新产品开发流程中,作者阐述了如何从市场、产品、行业、公司的角度规划企划方案,并获得老板、销售部、运营部的资源支持,推进新产品的项目流程,实现所有目标,制定和实施新产品发布。 下游产品的管理核心在于生命周期的管理,营销更是生命周期管理的重中之重。产品经理如何让产品满足客户需求,让客户获得对产......一起来看看 《产品经理手册(原书第4版)(白金版)》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具