Apache APISIX 和 Kong 的选型对比
从 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 的选型对比的更多相关文章
- 云原生API网关全生命周期管理Apache APISIX探究实操
@ 目录 概述 定义 NGINX 与 Kong 的痛点 APISIX 的技术优势 特性 架构 应用场景 主要概念 部署 快速入门 quickstart安装 Admin API创建路由 RPM安装 安装 ...
- 景顺长城基于 Apache APISIX 在金融云原生的生产实践
本文介绍了景顺长城在金融云原生架构演进中选择 APISIX 作为网关工具的技术细节,同时分享了使用 APISIX 的实践细节,并对 APISIX 的未来展望进行了探讨. 作者李奕浩,景顺长城信息技术部 ...
- 王院生:Apache APISIX 微服务网关极致性能架构解析
2019 年 10 月 27 日,又拍云联合 Apache APISIX 社区举办 API 网关与高性能服务最佳实践丨Open Talk 杭州站活动,Apache APISIX PPMC 成员王院生做 ...
- MQ选型对比RabbitMQ RocketMQ ActiveMQ
原文:MQ选型对比RabbitMQ RocketMQ ActiveMQ 几种MQ产品说明: ZeroMQ : 扩展性好,开发比较灵活,采用C语言实现,实际上他只是一个socket库的重新封装 ...
- 当 Amazon Lambda 遇上 Apache APISIX 可以擦出什么火花?
本文首先介绍了什么是 Serverless,以及为什么需要 Serverless:其次,讲述了一个好的网关在 Serverless 架构下的重要性,而 APISIX 就是这样的一个网关:最后,本文重点 ...
- 网关 apache APISIX
网关 apache - 国内版 Binghttps://cn.bing.com/search?q=%E7%BD%91%E5%85%B3+apache&qs=n&form=QBRE&am ...
- 基于 Apache APISIX 的下一代微服务架构
2019 年 12 月 14 日,又拍云联合 Apache APISIX 社区举办 API 网关与高性能服务最佳实践丨Open Talk 广州站活动,Apache APISIX PPMC 温铭做了题为 ...
- 从 0 到 1:Apache APISIX 的 Apache 之路
2019 年 12 月 14 日,又拍云联合 Apache APISIX 社区举办 API 网关与高性能服务最佳实践丨Open Talk 广州站活动,本次活动,邀请了来自Apache APISIX.又 ...
- Apache APISIX 的安装和配置请求转发url匹配
安装apisix套件 创建一个apisix文件夹,在apisix文件夹下再创建一个etcd_data文件夹,用来持久化etcd的数据 在apisix文件夹下 新建3个文件 config.yaml, ...
- CVE-2021-45232 Apache APISIX 从未授权访问到RCE
00x1漏洞环境 Apache APISIX Dashboard 2.7 - 2.10 版本受到影响 通过git拉取在docker搭建环境 git clone https://github.com/a ...
随机推荐
- 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. ...
- 即构 UIKits 重磅发布!高效开发与自定义UI兼备,打造互动场景新标杆
即构UIKits上线,新一代场景化实时互动SDK! 即构科技发布了首款面向中小团队的整合型实时互动产品UIKits , 基于场景化最佳实践,整合RTC.IM.直播.美颜等多款产品,打造了音视频通话UI ...
- SQL Server – 执行计划和各种 join 方式 (Execution plan & Join Pattern)
前言 我几乎从来没有遇到过性能问题, 毕竟项目真的太小了. 一般上只要用常识去建 index 就可以了. 但是这并不阻碍我对知识的追求. 这篇是关于一些性能优化和原理的内容. 纯属学习, 希望未来有机 ...
- Qt连连看(一)需求分析
虽然开发经验并不多,但是结合以往的一点实践项目和理论学习,自认为不管是开发什么工程项目,只要遵循软件工程的构建原则,如选择一个合理的架构体系,再掌握一门语言,利用数据结构组织数据,算法实现想法和功能, ...
- Oracle 到 MySQL 函数替换方案汇总
常用函数和语法转换 NVL函数 Oracle语法: NVL(COUNT(*), 0) MySQL语法: IFNULL(COUNT(*), 0) 转字符串 Oracle语法: to_char ...
- C++ STL deque容器
deque 容器 deque (读作deck)是"doble-ended-queue"的缩写,和vector一样都是STL的容器 deque是双端数组,而vector是单端 单端与 ...
- Spring —— DI入门案例
DI入门案例 思路分析: 1.基于IoC管理bean 2.Service中使用new形式创建的Dao对象是否保留(否) 3.Service中需要的Dao对象如何进入Serv ...
- SQL limit字句
limit用法介绍 limit子句可以返回检索查询行的某一连续的部分 用法介绍: SELECT column_list FROM table1 ORDER BY column_list LIMIT r ...
- 使用 fabric.js 开发移动端 H5 图片编辑器
大家好,我是开源图片编辑器的 https://github.com/ikuaitu/vue-fabric-editor 的作者,它是一款基于 PC 版本的开源图片编辑器. 最近很多开发者咨询,是否可以 ...
- Nuxt Kit 使用日志记录工具
title: Nuxt Kit 使用日志记录工具 date: 2024/9/23 updated: 2024/9/23 author: cmdragon excerpt: 摘要:本文介绍在Nuxt 3 ...