game

Apache APISIX 和 Kong 的选型对比

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

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

更详细的比较:

功能Apache APISIXKong
项目归属Apache 软件基金会Kong Inc.
技术架构Nginx + etcdNginx + postgres
交流渠道微信群、QQ群、邮件列表、Github、meetupGithub、论坛、freenode
单核QPS(开启限流和premetheus插件)180001700
平均延迟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 的十倍了。

AI相关的一切

留言

您的邮箱地址不会被公开。 必填项已用 * 标注