最新出炉!开源 API 网关的性能对比:APISIX 3.0 和 Kong 3.0

GLM-5.2-FP8模型在GPUStack上基于vLLM的部署与性能调优实战 FP8(8位浮点数)作为一种新兴的模型量化格式,通过减少数值表示的位数,在保持模型精度的同时显著降低了显存占用计算带宽需求。其原理在于利用GPU的专用Tensor Core硬件(如NVIDIA H100的FP8 Tensor Core)进行加速,实现了计算效率与模型性能的平衡。这一技术的核心价值在于,它使得在同等硬件条件下部署更大规模的语言模型或服务更高并发请求成为可能,直接降低了AI推理的硬件成本与能耗。在实际应用场景中,FP8量化模型特别适合需要高吞吐、低延迟的生产级API服务,例如实时对话系统、内容 阅读详情

背景

云原生时代下,企业逐渐向云上迁移,越来越多的应用和服务都在进行容器化改造,服务之间的流量也开始爆发性的增长。为了能高效地管理这些规模庞大的 API,API 网关开始在技术领域大展身手。

用户除了需要 API 网关提供请求代理、熔断限流、审计监控等常规能力外,更多开始关注云原生兼容性、支撑场景的多样性,以及更好的性能及稳定性。在这样的背景下,以 Apache APISIX 和 Kong 等为代表的云原生 API 网关项目得到了越来越多开发者的青睐。

Apache APISIX 是一个云原生、高性能、可扩展的 API 网关,由深圳支流科技捐赠给 Apache 基金会,并于 2020 年 7 月从 Apache 孵化器毕业, 成为 Apache 软件基金会顶级项目。APISIX 基于 NGINX 和 etcd 来实现,和传统 API 网关相比,APISIX 具备动态路由和插件热加载,特别适合云原生架构下的 API 管理。

在这里插入图片描述

Kong 也是一款高可用、易扩展的开源 API 网关项目。通过提供代理、路由、负载均衡、身份验证等功能,在微服务与传统 API
领域提供网关层面的支持。

2022 年秋季,Kong 与 Apache APISIX 相继发布了最新的 3.0 版本。其中,Apache APISIX 3.0 重点在生态和架构层面进行了创新与迭代,致力让所有用户都能利用 APISIX 发挥更优秀的价值。Kong 3.0 则在新版本中更加侧重政府、金融业以及对安全合规更关注的大型企业,整体涉及在合规、易用性、功能与性能等方面进行了拓展。

作为开源微服务网关领域的优秀作品,在二者几乎同一时间发布 3.0 版本之际,我们对两个产品进行了一次性能测试,方便读者在选择和使用这两个网关产品时,对其最新版本的性能表现上有更加清晰的认知。

测试环境与方式

以下为本次进行测试的方式及环境数据,测试结果仅针对以下环境、机器及特定版本等。
同时本次测试使用 Docker 部署 APISIX 和 Kong 时,将使用 Docker 的 host 网络模式,避免网络原因影响测试结果。以下为其他相关测试配置信息。

请求拓扑图

以下是测试链路的拓扑图,压力测试工具使用 wrk2,上游服务使用 OpenResty。

在这里插入图片描述

相关服务器与软件信息

本次测试将在云服务器上进行,服务器配置为 Standard D8s v3 (8 核心虚拟 CPU,32 GiB 内存) 。所有测试相关组件均部署在这台服务器上,具体服务器环境信息如下表所示。

服务器环境信息
名称配置
os versionDebian 10 Buster
ulimit -n65535

测试中所涉及到的软件版本信息如下表所示。

软件名称版本信息
Docker20.10.18, build b40c2f6
APISIX3.0.0
Kong3.0.0
UpstreamOpenResty 1.21.4.1
Test toolwrk2

部署细节

我们选择 wrk2 作为性能测试工具,选择 OpenResty 作为模拟上游。用 Docker 来部署 APISIX 与 Kong,并且都启用二者的声明式配置。

在测试时,只开启一个 1 个 worker 进程,这样测试结果会比较直观。正常来说,在实际使用中多个 worker 的负载能力相比 1 个 worker 来说,其性能接近线性增长。部署脚本与测试脚本可参考 https://github.com/api7/apisix-benchmark。

注意:在测试过程中,APISIX 关闭了 proxy-cacheproxy-mirror 插件。这是因为这两个插件的启用将会影响 APISIX 4% 左右的性能(benchmark 相关文档中有提及),因此在本次测试中进行了关闭。

多场景测试与性能对比

场景一:1 条路由,不启用任何插件

场景一旨在测试纯代理场景。因此只设置 1 条路由,不启用任何插件,测试 APISIX 与 Kong 在该场景下的性能差异。

APISIX 配置如下:

routes:
  -
    uri: /hello
    upstream:
      nodes:
        "127.0.0.1:1980": 1
      type: roundrobin
#END

Kong 配置如下:

_format_version: "3.0"
_transform: true

services:
- name: hello
  url: http://127.0.0.1:1980
  routes:
  - name: hello
    paths:
    - /hello
性能对比

在该场景下共进行了 10 轮测试,QPS 如下折线图所示(以 QPS 指标来评价性能)。

在这里插入图片描述

从图中可以看到,在纯代理场景下,APISIX 3.0 的性能表现优于 Kong 3.0 之上。APISIX 3.0 的 10 轮 QPS 的平均值为 14104,Kong 3.0 的 10 轮 QPS 的平均值是 9857。相比之下,APISIX 3.0 的性能是 Kong 3.0 的 140%

场景二:1 条路由 + 1 个插件(限流)

限流是网关产品的主要使用场景之一,因此在场景二中,我们配置了 1 条路由与 1 个限流插件来满足测试要求。

注意:该场景主要测试网关在限流场景下的性能,其中对限流插件的配置进行了较高的限制,避免触发实际的限流动作。

APISIX 配置如下:

routes:
  -
    uri: /hello
    upstream:
      nodes:
        "127.0.0.1:1980": 1
      type: roundrobin
    plugins:
      limit-count:
        count: 999999999
        time_window: 60
        rejected_code: 503
        key: remote_addr
#END

Kong 配置如下:

_format_version: "3.0"
_transform: true

services:
- name: hello
  url: http://127.0.0.1:1980
  routes:
  - name: hello
    paths:
    - /hello
    plugins:
    - name: rate-limiting
      config:
        minute: 999999999
        limit_by: ip
        policy: local
性能对比

依旧是进行了 10 轮测试,QPS 如下折线图所示(以 QPS 指标来评价性能)。
在这里插入图片描述

从上述对比图中可以看到,在启用「限制请求数量类」的插件后,APISIX 3.0 与 Kong 3.0 的 QPS 都下降明显,但是 Kong 3.0 的 QPS 下降幅度更大。APISIX 3.0 的 10 轮 QPS 的平均值是 9154,Kong 3.0 的 10 轮 QPS 的平均值是 4810,相比之下,APISIX 3.0 的性能是 Kong 3.0 的 190%

场景三:1 条路由 + 2 个插件(限流+鉴权)

除上述提到的限流功能外,鉴权场景也是网关的主要使用场景之一。因此场景三将两个重要的功能合二为一,配置了 1 条路由的同时,绑定了限流插件和鉴权插件。该场景涵盖了限流与鉴权功能的同时,还在请求路径中实现了多个插件一起配合工作,覆盖了网关实际使用的经典场景。

APISIX 配置如下:

routes:
  -
    uri: /hello
    upstream:
      nodes:
        "127.0.0.1:1980": 1
      type: roundrobin
    plugins:
      key-auth:
      limit-count:
        count: 999999999
        time_window: 60
        rejected_code: 503
        key: remote_addr
consumers:
  - username: jack
    plugins:
        key-auth:
            key: user-key
#END

Kong 配置如下:

_format_version: "3.0"
_transform: true

services:
- name: hello
  url: http://127.0.0.1:1980
  routes:
  - name: hello
    paths:
    - /hello
    plugins:
    - name: rate-limiting
      config:
        minute: 999999999
        limit_by: ip
        policy: local
    - name: key-auth
      config:
        key_names:
          - apikey
consumers:
- username: my-user
  keyauth_credentials:
  - key: my-key
性能对比

在这里插入图片描述

从上述结果折线图中可以看到,APISIX 3.0 在启用 limit-countkey-auth 插件后,10 轮 QPS 的平均值为 8933,相比只启用 limit-count 插件时的 QPS 平均值 9154,只有略微下降(约为 2.4%)
而 Kong 3.0 在启用 rate-limitingkey-auth 插件后,10 轮 QPS 的平均值为 3977,相比只启用 rate-limiting 插件时 QPS 平均值 4810,下降非常明显(约为 17%)
在该场景下对比 10 轮平均 QPS,APISIX 3.0 的性能是 Kong 3.0 的 220%

场景四:5000 条路由

该方案使用脚本生成了 5000 条不重复的路由,测试时只命中其中一条路由。该场景主要是测试 APISIX 与 Kong 进行路由匹配时的性能。

性能对比

在这里插入图片描述

同样是进行 10 轮测试,结果如上述折线图所示。

从图中可以看到,在该场景下,APISIX 3.0 的 10 轮 QPS 的平均值为 13787,Kong 3.0 的 10 轮 QPS 的平均值为 9840。相比之下,APISIX 3.0 的性能是 Kong 3.0 的 140%,与场景一测试环境下的效果对比类似。

结论

从上述几组测试场景的结果来看:

  • 当不在路由上绑定插件时,多路由匹配与单路由纯代理场景下,APISIX 3.0 的整体表现性能为 Kong 3.0 的 140% 左右
  • 当在路由上绑定插件时,APISIX 3.0 的性能为 Kong 3.0 的 200% 左右(有近一倍的性能提升)。

因此在不同场景的性能表现上,APISIX 3.0 整体性能相比 Kong 3.0 而言,仍然保持着较大的优势。如果你对上述两个网关的使用场景有更多使用上的心得,也欢迎随时交流。

三大API网关性能对比APISIX完胜 摘要: Apache APISIXKong Envoy 是三大主流 API 网关技术,各有特点: APISIX(云原生):基于 Nginx + etcd,性能最优(QPS 18000,延迟 0.2ms),支持动态路由插件热加载,适合高性能微服务场景。 Kong(稳定性优先):基于 Nginx + Postgres,功能丰富但性能较弱(QPS 1700),提供商业支持,适合企业级稳定需求。 Envoy(服务网格):C++ 实现,专注 L7 代理,性能高但配置复杂,适合服务网格流量管理。 结论:APIS 阅读详情

相关推荐

8大主流API网关巅峰对决:一文读懂谁是性能之王

【重磅测评】API网关终极战:谁能撑起10万并发? 从入门到精通:最强API网关评测出炉,选型不再纠结! 震撼发布:API网关性能王者之争,真实数据告诉你答案 重磅揭秘:8大API网关实战对比,谁是你的最佳选择? 王者对决:最新API网关基准测试,让数据说话! 技术干货:API网关终极测评,帮你省下半年选型时间 史上最全:API网关性能大比拼,真实数据惊呆了! 重磅:API网关选型指南2024版,建议收藏!

jsjbrdzhh的博客 3853

api网关kong&apisix)对比

APISIX Kong 都是流行的开源API网关项目,它们在功能、架构生态系统等方面有一些区别。下面是一个对比它们的优劣势的概览,但需要注意的是,这些优劣势在不同的使用情境下可能会有所不同。APISIX使用Nginx作为底层引擎,因此具有卓越的性能吞吐量,适用于高流量环境。APISIX支持动态配置,可以实时更改路由、插件策略,无需重启网关APISIX提供了丰富的插件系统,允许用户根据需要轻松地添加定制功能,如认证、限流、监控等。

General_zy的博客 5456

【不体系】高性能动态网关APISIX

Apache APISIX 是Apache 软件基金会下的云原生 API 网关,它兼具动态、实时、高性能等特点,提供了负载均衡、动态上游、灰度发布(金丝雀发布)、服务熔断、身份认证、可观测性等丰富的流量管理功能。我们可以使用 Apache APISIX 来处理传统的南北向流量,也可以处理服务间的东西向流量。同时,它也支持作为 K8s Ingress Controller 来使用。

九师兄 290

网关选型对比

网关选型

wokoone的博客 1123

架构设计内容分享(一百四十二):API网关之深入对比KongApiSix

我个人的感觉是单从功能上来说,Kong的功能更丰富一些,但是APISIX的插件系统更加灵活,而且APISIX的社区支持更好。两者的性能上,APISIX性能更高一些。但是,在选择API网关时,需要根据具体的需求团队熟悉的技术栈来决定使用哪个网关以及其插件系统。

之乎者也·的博客 2696

Nginx、KongApisix、Gateway网关比较

Apache APISIX基于 nginx(openresty) Lua 实现的一款国产软件,是一个动态、实时、高性能的云原生API网关,提供了负载均衡、动态上游、灰度发布、服务熔断、身份认证、可观测性等丰富的流量管理功能。Filter可以对请求响应进行处理。API网关为微服务架构的系统提供简单、有效 且统一的API路由管理,作为系统的统一入口,提供内部服务的路由中转,给客户端提供统一的服务,可以实现一些业务没有耦合的公用逻辑,主要功能包含认证、鉴权、路由转发、安全策略、防刷、流量控制、监控日志等。

VivianStark的博客 1万+

国产最强开源 API 网关,没有之一,不接受任何反驳!

点击上方“芋道源码”,选择“设为星标”管她前浪,还是后浪?能浪的浪,才是好浪!每天 8:55 更新文章,每天掉亿点点头发...源码精品专栏原创 | Java 2020 超神之路,很肝~中...

芋艿V 2071

Apache APISIX 初体验

Apache APISIX 是一个基于 OpenResty Etcd 实现的动态、实时、高性能API 网关,目前已经是 Apache 的顶级项目。提供了丰富的流量管理功能,如负载均...

DevOps持续集成的博客 3890

常用的开源网关 API Gateway

常用的开源网关 API Gateway

猛犸象 2402

开源免费的API网关介绍与选型

API网关在现代微服务架构中极其重要,作为内外通信桥梁,它不仅简化了服务调用过程,还增强了安全性与可管理性。通过API网关,可以实现统一的身份验证授权机制,确保只有经过认证的请求才能访问后端服务;同时,API网关支持流量控制、负载均衡等功能,提高系统稳定性。对于开发者来说,API网关提供了一个统一的服务入口点,简化文档维护,并使版本管理日志记录更加便捷。主流API网关Kongapisix、Higress都具备强大的协议转换能力、安全隔离措施及流量控制功能,支持API定义、发布版本化。

xingxuechao的专栏 7660

开源浪潮下,Apache APISIX 如何成为全球最活跃 API 网关

本文整理自阿里云「中间件开发者 Meetup」中的议题分享。

ApacheAPISIX的博客 3354

API网关开源Apinto网关-应用管理篇

在这互联网高速发展的时代,企业业务系统多、渠道广,如何管理内外部调用端系统具有极大的挑战。 数量方面:API网关需要对各端应用统一管理,例如对企业自身很多的前端应用,包括不限于web应用、移动APP、小程序,甚至第三方各端的应用进行管理,确保各应用有序、合规调用服务。 安全方面:API网关需要对应用进行安全管理,例如对用户权限接口访问控制进行限制,防止恶意攻击数据泄露等安全问题。

API 833

Apache APISIX 介绍

定义:Apache APISIX是一个提供丰富流量管理功能的云原生API网关。功能:包括负载均衡、动态上游、灰度发布、服务熔断、身份认证、可观测性等。应用场景:既可以处理传统的南北向流量(客户端到服务器的流量),也可以处理服务间的东西向流量(服务与服务之间的通信流量)。Apache APISIX以其动态、实时、高性能的特点,以及丰富的流量管理功能,在云原生应用中扮演着重要角色。无论是处理传统的南北向流量,还是微服务架构中的东西向流量,Apache APISIX都能提供高效、灵活的解决方案。

ding43930053的专栏 991

云原生下最火的API网关-APISIX

APISIX是一款基于NginxOpenResty的云原生API网关,由Apache APISIX社区维护。它提供了一个可扩展的、低延迟、高性能API网关解决方案,支持常见的API管理功能,如流量控制、认证、转发、限速、缓存、日志等,并提供了灵活的插件机制,可支持自定义插件的开发集成。

6861

对比nginx、kongapisix、zuul、gateway网关

Nginx、KongAPISIX、Zuul、Spring Cloud Gateway 均是 API 网关或反向代理工具,但定位、技术栈适用场景差异显著。

青鱼入云的博客 1715

如何选择适合你的微服务 API 网关对比 KongAPISIX、Trk、Apigee 其他网关

微服务 API 网关有什么作用? 让我们先来看下微服务 API 网关的作用,下图是一个简要的说明: API 网关并非一个新兴的概念,在十几年前就已经存在了,它的作用主要是作为流量的入口,统一的处理业务相关的请求,让请求更加安全、快速准确的得到处理。它有以下传统的功能: 反向代理负载均衡,这 Nginx 的定位功能是一致的; 动态上游、动态 SSL 证书动态...

October 1万+

APISIX-全新一代API网关,带可视化管理,文档贼友好!

apisix是一款云原生微服务API网关,可以为API提供终极性能、安全性、开源可扩展的平台。apisix基于Nginxetcd实现,与传统API网关相比,apisix具有动态路由插件热加载,特别适合微服务系统下的API管理。体验了一把apisix这个全新一代的API网关,有可视化管理的网关果然不一样,简单易用,功能强大!如果你的微服务是云原生的话,可以试着用它来做网关。其实apisix并不是个小众框架,很多国内外大厂都在使用了,如果你想知道哪些公司在使用,可以参考下面的连接。

Ch3nnn的博客 1万+
上一篇: 微服务中的服务发现是什么?
下一篇: 为什么 NGINX 的 reload 不是热加载?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

API7.ai 技术团队

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值