各版本网关产品功能及性能对比

原创
2023/09/14 12:07
阅读数 170
AI总结

产品背景

GoKu 网关提供企业版 [EE] 与开源版 [CE] 两个版本,满足不同阶段用户对于微服务的需求,两个版本均支持 私有云部署,开源版 [CE] 目前已停止维护。

Apinto 开源版本是 Goku 开源版 [CE] 的一次架构升级,经过前面几年的网关架构和客户需求的摸索,我们已经在微服务网关上面积累了大量的实践经验,现在我们抱着更加开放的心态,希望能够将过往的产品和技术经验重新整理并回馈技术社区,因此我们在 2021 年 3 月开始了新的一轮重构。

 

版本适用范围

 

Goku 开源版适用于个人或小型团队,仅支持最基本的网关功能。获取仓库请点击 Goku开源版,目前已停止维护。

GoKu 企业版: 适用于中大型企业,可加速企业数字化转型,是一个降低成本和提高灵活性的微服务解决方案

Apinto 开源版:适用于个人或小中型团队,提供网关核心功能,拥有简易控制台。获取仓库请点击 Apinto开源版

Apinto 企业版: 适用于中大型企业,拥有灵活的多维度策略,能够快速帮助企业进行 API 服务治理、提高 API 服务的稳定性和安全性。

免费试用 Apinto 企业版申请地址 : https://www.eolink.com/contact

 

各版本网关产品对比

 

Apinto 网关功能展示

1. 多环境、多集群、多节点管理

支持根据环境划分集群,按集群管理SSL证书,分集群管理全局变量,在Apinto中可以一键发布资源到多个集群中, 比如将测试环境中验证通过的API发布到生产环境的集群中,降低配置的复杂度并减少数据同步的工作量。

2. 全面、细粒度的调用统计

拥有丰富的统计数据及丰富的统计维度,可按环境、集群自定义监控报表,提供直观的统计图表;可从应用、API、上游服务逐级查看统计数据,满足深度统计需求。

3. 细粒度异常监控告警

提供API、上游、集群、逻辑分区等多维度告警规则,具有失败率、响应时间、带宽占用、状态码等告警触发指标,提供同比、环比等多种告警计算方式,帮助使用者根据业务实际情况制定合理、可靠、灵活的告警策略。

4. 多协议 API 托管、协议转换、数据转换

支持多种请求协议,包括:HTTP/HTTPSWebsocketWebserviceSOAPRestfulgRPCDubbo2等,支持协议的转换,如:HTTPgRPC的互转,HTTP  Dubbo2 的互转等。

拥有丰富的路由匹配规则,支持导入 Swagger 文档、从 Apikit、Postcat 中导入接口信息。

5. 插件系统

用户可以根据业务需要,自行开发、安装/卸载、开启/关闭、编排插件,丰富网关能力,强化网关功能。Apinto Pro内置了30多种插件,涵盖安全防护、流量管控、日志记录等多个分类,满足绝大多数企业需求。动态配置插件,无需停机重启,实时生效,保证业务的连续性和可靠性。

插件系统分为 控制台插件 、节点插件 两部分:

  • 控制台插件

一键安装/卸载控制台插件,不断丰富的插件生态,可自定义插件,无限拓展产品功能。

  • 节点插件

Apinto 提供了多样化、丰富的节点插件,以此来不断拓展Apinto网关的功能特性。

下表中列出一些流行的插件:

节点插件提供可视化管理插件功能,支持全局调整节点插件的生效顺序,支持一键发布节点插件。

6. 微服务治理,保障服务稳定性

支持EureKa、Consul、Nacos,能够自动发现新的上游服务器。

网关节点自带负载均衡功能,能够对后端服务器进行负载,并且能够实时对负载后端进行健康检查。

当发现部分 API 出现异常时,能够自动停止该 API 的转发工作,并且自动返回预设结果,让前端业务能够获得正确返回信息保障业务正常运行。

 

Apinto 网关性能表现

在测试过程中,应遵循控制变量原则,避免程序资源争抢,当压测任一网关时,其余网关程序应当停止运行。以下测试报告涵盖短连接、长连接共两种测试场景。

概念定义如下:

  • 短连接:模拟多个用户同时并发,避免触发连接keep-alive,保证每次请求的连接都是新创建的,因此,在进行发送请求时,需要携带请求头 Connection:Close

  • 长连接:单客户端保持与网关持久通信,减少连接建立时间,模拟各网关前有 SLBF5 等硬件负载均衡器时,发挥网关性能的最优情况。

1. QPS

横轴为并发数,纵轴为当前并发量时,各网关每秒能够处理的请求数。

  • 短连接

  • 长连接

2. 请求耗时

下图将展示各网关产品在高并发情况下,请求的耗时情况。

  • 短连接

  • 长连接

3. 处理请求数

横轴为并发数,纵轴为当前并发量时,各网关每分钟共处理的请求数。

  • 短连接

  • 长连接

Apinto 网关性能表现优异。相同环境下,Apinto 拥有比 Nginx 高 100% 左右的吞吐量表现,拥有极强的性能表现和优异的稳定性,99% 的请求都可以在 45ms 内转发完成,代理损耗极低。Kong 在客户端长连接时,开始出现了错误请求,相比之下,Apinto 不管在什么场景下,均能表现良好,稳定工作。

 

写在最后

目前 Apinto 及其周边项目已经开源,我们希望通过 Apinto 强大的插件拓展能力,用户可像乐高积木一样根据需要自行拓展 Apinto 的插件,以满足不同的业务市场需求。

Apinto 目前属于萌芽阶段,我们希望集合广大开源爱好者的力量,与大家一起讨论方案,接受大家的批评指正,一起将产品打磨完善,做下一个端与端间的Traffic Middleware。这是一个开放和积极的项目,我们诚挚地邀请您一起参与到我们的项目开源工作中。每一个贡献都是有意义的,包括但不限于:

·查找 bugs,取得性能上的提升

·帮助完善文档,提供用户操作体验

·提交你们的 issue,让我们知道您的奇思妙想

·参与自定义插件的开发,丰富 Apinto 的能力

...

欢迎各位开源爱好者参与到 Apinto 项目中,和我们一起为开源事业贡献自己的力量!

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
AI总结
返回顶部
顶部