03-基于Apache APISIX的全流量API网关-温铭
O(n),随着路由数量线性增长。 • Apache APISIX 的 IP 匹配时间复杂度是 O(1),不会随着大量 IP 判断而导致 cpu 资源跑满;kong 的最 新版本也换用了 Apache APISIX 的 IP 匹配库; • Apache APISIX 的路由匹配,接受 nginx 的所有变量作为条件,并且支持自定义函数;其他网关都是 内置的几个条件; • Apache APISIX 使用 etcd 作为配置中心,没有单点,任意宕掉一台机 器,网关集群还能正常运行。其他基于 mysql,postgres 的网关都会有单点 问题 • Apache APISIX 的配置下发只要 1 毫秒就能达到所有网关节点,使用的是 etcd 的 watch;其他网关是 定期轮询数据库,一般需要 5 秒才能获取到最新配置 • 只有 Apache APISIX 开放了自定义负载均衡的挂载点,其他网关都不支持 独创的插件编排/低代码 API 网关 Plugin Orchestration 道 APISIX 和 Kong 的对比 对⽐比项 APISIX Kong 技术架构 Nginx + etcd Nginx + postgres ⾼高可⽤用 ⾮非常可靠,没有单点 ⼀一般,有数据库 的单点 精细化路路由 ⽀支持 Nginx 变量量和⾃自 定义函数 固定的⼏几个条件 配置⽣生效时间 事件驱动,⼩小于 1 毫秒 轮询拉取,5 秒 处理理延迟 0.2 毫秒 2 毫秒 性能(单核,开启两个限流和0 码力 | 11 页 | 6.56 MB | 5 月前3Apache APISIX 微服务⽹关性能架构解析
Apache APISIX 技术选型 开发平台:Lua 或 Golang •OpenResty >= 1.15.8 •Tengine >= 2.3.2 •基于 Nginx •调⽤用动态库:C/C++,Golang 等 Apache APISIX 技术选型 数据校验:jsonschema • 数据校验规范:Google 排名第⼀一 • 有多个不不同语⾔言客户端,涵盖了了⼏几乎⽬目前主流的 plugins redirect Apache APISIX 三板斧 • 配置分发借助 etcd ,精简核⼼心 • 基于 radixtree 前缀树路路由 • apisix/core:⾼高性能基础库 • Nginx 变量量提取增强 • 错误⽇日志优化 • table 池优化 Apache APISIX 功能 Apache APISIX 功能 • Cloud-Native • 的 QPS 4 worker:68k 的 QPS 平台:alicloud ecs.ic5.3xlarge vs Q & A • github.com/iresty/apisix • 基础库推荐:apisix/core • QQ 交流群:552030619 • 提供企业⼀一对⼀一服务对接0 码力 | 41 页 | 15.62 MB | 1 年前3从Apache APISIX 来看API 网关的演进
插件作为 IoT 网关 • 借助 IdP 插件成为零信任网关 愿景:快速处理所有业务流量 微服务的演进史 1. 从单体到微服务 痛点:大量的重复开发 技术变革:容器 2. 微服务从类库到 proxy • Spring CLoud • Dubbo 痛点:语言绑定、升级难 3. 微服务从 proxy 到 sidecar • 技术变革:云原生 • proxy 的痛点:路由、上游、证书等不能动态0 码力 | 24 页 | 1.36 MB | 1 年前3金卫-Apache APISIX 借助 Service Mesh 实现统一技术栈的全流量管理
是当前最为流行的服务网格方案 社区活跃 几乎所有主流云厂商都对 istio 有支持 基于 istio 做商业支持的公司也很多,比如 tetrate, solo APISIX作为Istio数据面 使用动态库的方式加载到APISIX 与APISIX生命周期一致 转换 xDS 协议 资源消耗可控 APISIX原生支持 增加了xds discovery 配合CRD进行扩展 Apache APISIX0 码力 | 34 页 | 3.50 MB | 5 月前3基于 Apache APISIX 的下一代微服务架构 -- 从 0 到 1:APISIX 的 Apache 之路
插件作为 IoT 网关 • 借助 IdP 插件成为零信任网关 愿景:快速处理所有业务流量 微服务的演进史 1. 从单体到微服务 痛点:大量的重复开发 技术变革:容器 2. 微服务从类库到 proxy • Spring CLoud • Dubbo 痛点:语言绑定、升级难 3. 微服务从 proxy 到 sidecar • 技术变革:云原生 • proxy 的痛点:路由、上游、证书等不能动态0 码力 | 33 页 | 1.55 MB | 1 年前3有了 NGINX 和 Kong,为什么还需要 Apache APISIX-王院生
+ Kong 的问题 • NGINX -> LB • Kong -> API Gateway • 针对不同应⽤场景 • CP 控制⾯ • NGINX 没有 • Kong + PostgreSQL 数据库是单点 + 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 Apache APISIX 当前总结 云 原 ⽣ 社 区 M e e t u p 第 四 期 ·0 码力 | 34 页 | 25.78 MB | 5 月前3APISEVEN 和Kong EE 的性能评测
NGINX)被⽤在边缘节点为客⼾端提供单个地址,并使⽤选定的策略(例如循环或加权)在Kong节 点之间分发请求。横向扩展Kong很简单。Kong是⽆状态的,所以向集群添加新节点需要将新节点指 向外部数据库(PostgreSQL或Cassandra),它就可以处理API请求和响应所需的配置、安全、服 务、路由和消费者信息,包括前⾯负载均衡器的IP地址或fullyqualifieddomainname(FQDN)。0 码力 | 14 页 | 1.11 MB | 1 年前3
共 7 条
- 1