从 API 网关核心功能点来看,两者均已覆盖:

功能 Apache APISIX Kong
动态上游 支持 支持
动态路由 支持 支持
健康检查和熔断器 支持 支持
动态SSL证书 支持 支持
七层和四层代理 支持 支持
分布式追踪 支持 支持
自定义插件 支持 支持
REST API 支持 支持
CLI 支持 支持

更详细的比较:

功能 Apache APISIX Kong
项目归属 Apache 软件基金会 Kong Inc.
技术架构 Nginx + etcd Nginx + postgres
交流渠道 微信群、QQ群、邮件列表、Github、meetup Github、论坛、freenode
单核QPS(开启限流和premetheus插件) 18000 1700
平均延迟 0.2毫秒 2毫秒
配置生效时间 事件通知,低于1毫秒更新 定期轮询,5秒
支持 Dubbo 代理 是 否
配置回滚 是 否
支持生命周期的路由 是 否
插件热更新 是 否
用户自定义:负载均衡算法、路由 是 否
resty <--> gRPC 转码 是 否
支持 Tengine 作为运行时 是 否
MQTT 协议支持 是 否
自带控制台 是 否
对接外部身份认证服务 是 否
配置中心高可用(HA) 是 否
指定时间窗口的限速 是 否
支持任何 Nginx 变量做路有条件 是 否

压测环境

测试平台:阿里云 ecs.hfg5.2xlarge 8 vCPU 32 GiB。

测试方法:分别开启指定 worker 数量(单核、多核),然后用 wrk 加大压力测试。这里要把 API 网关资源打满(主要是 CPU)。而压测客户端、上游服务都正常服务,不是瓶颈。

开启 prometheus 和 limit-count 两个插件。

测试版本:Apache APISIX 0.9 和 Kong 1.4.3

测试脚本:https://gist.github.com/membphis/137db97a4bf64d3653aa42f3e016bd01

压测场景 1:只开启一个 worker

详细压测结果(大家可以这里的脚本,自己来重现性能测试的结果)

** Apache APISIX 在不开启插件,只做反向代理的情况下,是 Kong QPS 的 2 倍;在开启限流和prometheus这两个插件后,性能是 Kong 的 10 倍。 **



** Apache APISIX 在不开启插件,只做反向代理的情况下,是 Kong 延迟的一半;在开启限流和prometheus这两个插件后,延迟是 Kong 的十分之一。**



压测场景 2:开启 4 个 worker

详细压测结果







通过性能测试可以看到,在不开启插件的情况下,Apache APISIX 的性能(QPS 和延迟)是 Kong 的2倍,但开启了两个常用插件后,性能就是 Kong 的十倍了。

转载:https://zhuanlan.zhihu.com/p/103236688

Apache APISIX 和 Kong 的选型对比的更多相关文章

  1. 云原生API网关全生命周期管理Apache APISIX探究实操

    @ 目录 概述 定义 NGINX 与 Kong 的痛点 APISIX 的技术优势 特性 架构 应用场景 主要概念 部署 快速入门 quickstart安装 Admin API创建路由 RPM安装 安装 ...

  2. 景顺长城基于 Apache APISIX 在金融云原生的生产实践

    本文介绍了景顺长城在金融云原生架构演进中选择 APISIX 作为网关工具的技术细节,同时分享了使用 APISIX 的实践细节,并对 APISIX 的未来展望进行了探讨. 作者李奕浩,景顺长城信息技术部 ...

  3. 王院生:Apache APISIX 微服务网关极致性能架构解析

    2019 年 10 月 27 日,又拍云联合 Apache APISIX 社区举办 API 网关与高性能服务最佳实践丨Open Talk 杭州站活动,Apache APISIX PPMC 成员王院生做 ...

  4. MQ选型对比RabbitMQ RocketMQ ActiveMQ

    原文:MQ选型对比RabbitMQ RocketMQ ActiveMQ 几种MQ产品说明:     ZeroMQ :  扩展性好,开发比较灵活,采用C语言实现,实际上他只是一个socket库的重新封装 ...

  5. 当 Amazon Lambda 遇上 Apache APISIX 可以擦出什么火花?

    本文首先介绍了什么是 Serverless,以及为什么需要 Serverless:其次,讲述了一个好的网关在 Serverless 架构下的重要性,而 APISIX 就是这样的一个网关:最后,本文重点 ...

  6. 网关 apache APISIX

    网关 apache - 国内版 Binghttps://cn.bing.com/search?q=%E7%BD%91%E5%85%B3+apache&qs=n&form=QBRE&am ...

  7. 基于 Apache APISIX 的下一代微服务架构

    2019 年 12 月 14 日,又拍云联合 Apache APISIX 社区举办 API 网关与高性能服务最佳实践丨Open Talk 广州站活动,Apache APISIX PPMC 温铭做了题为 ...

  8. 从 0 到 1:Apache APISIX 的 Apache 之路

    2019 年 12 月 14 日,又拍云联合 Apache APISIX 社区举办 API 网关与高性能服务最佳实践丨Open Talk 广州站活动,本次活动,邀请了来自Apache APISIX.又 ...

  9. Apache APISIX 的安装和配置请求转发url匹配

    安装apisix套件 创建一个apisix文件夹,在apisix文件夹下再创建一个etcd_data文件夹,用来持久化etcd的数据 在apisix文件夹下 新建3个文件 config.yaml,  ...

  10. CVE-2021-45232 Apache APISIX 从未授权访问到RCE

    00x1漏洞环境 Apache APISIX Dashboard 2.7 - 2.10 版本受到影响 通过git拉取在docker搭建环境 git clone https://github.com/a ...

随机推荐

  1. node: /lib64/libm.so.6: version `GLIBC_2.27‘ not found问题解决方案

    场景 centos7服务器使用nvm安装的node之后,只要使用npm或者node,均会出现以下问题. npm -v node: /lib64/libm.so.6: version `GLIBC_2. ...

  2. 即构 UIKits 重磅发布!高效开发与自定义UI兼备,打造互动场景新标杆

    即构UIKits上线,新一代场景化实时互动SDK! 即构科技发布了首款面向中小团队的整合型实时互动产品UIKits , 基于场景化最佳实践,整合RTC.IM.直播.美颜等多款产品,打造了音视频通话UI ...

  3. SQL Server – 执行计划和各种 join 方式 (Execution plan & Join Pattern)

    前言 我几乎从来没有遇到过性能问题, 毕竟项目真的太小了. 一般上只要用常识去建 index 就可以了. 但是这并不阻碍我对知识的追求. 这篇是关于一些性能优化和原理的内容. 纯属学习, 希望未来有机 ...

  4. Qt连连看(一)需求分析

    虽然开发经验并不多,但是结合以往的一点实践项目和理论学习,自认为不管是开发什么工程项目,只要遵循软件工程的构建原则,如选择一个合理的架构体系,再掌握一门语言,利用数据结构组织数据,算法实现想法和功能, ...

  5. Oracle 到 MySQL 函数替换方案汇总

    常用函数和语法转换     NVL函数 Oracle语法: NVL(COUNT(*), 0) MySQL语法: IFNULL(COUNT(*), 0)   转字符串 Oracle语法: to_char ...

  6. C++ STL deque容器

    deque 容器 deque (读作deck)是"doble-ended-queue"的缩写,和vector一样都是STL的容器 deque是双端数组,而vector是单端 单端与 ...

  7. Spring —— DI入门案例

    DI入门案例   思路分析:     1.基于IoC管理bean     2.Service中使用new形式创建的Dao对象是否保留(否)     3.Service中需要的Dao对象如何进入Serv ...

  8. SQL limit字句

    limit用法介绍 limit子句可以返回检索查询行的某一连续的部分 用法介绍: SELECT column_list FROM table1 ORDER BY column_list LIMIT r ...

  9. 使用 fabric.js 开发移动端 H5 图片编辑器

    大家好,我是开源图片编辑器的 https://github.com/ikuaitu/vue-fabric-editor 的作者,它是一款基于 PC 版本的开源图片编辑器. 最近很多开发者咨询,是否可以 ...

  10. Nuxt Kit 使用日志记录工具

    title: Nuxt Kit 使用日志记录工具 date: 2024/9/23 updated: 2024/9/23 author: cmdragon excerpt: 摘要:本文介绍在Nuxt 3 ...