API7 ⽹关技术⽩⽪书
图1-1API7架构图 上图为API7产品中控制平⾯(简称CP)与数据平⾯(简称DP)的架构⽰意图,并包含了3个部分: API⽹关 1. ⽤于承载并处理业务流量,管理员在配置路由规则后,⽹关将根据预设规则将请求转发⾄上游服务。 此外,借助API7内置的50多种插件,可实现⾝份验证、安全防护、流量控制、分析监控、请求/响应 转换等常⻅业务需求;若内置插件⽆法满⾜需 实现对路由、上游、证书、全局插件、消 费者等资源的管理。 控制⾯板 3. 为了简化⽹关管理,管理员可以通过Dashboard控制⾯板以可视化形式操作⽹关,⽀持监控分析、⽇ 志审计、多租⼾管理、多集群切换、多⼯作分区等能⼒。 1.1技术架构 数据平⾯ 1. 数据平⾯⽤于接收并处理调⽤⽅请求,使⽤Lua与Nginx动态控制请求流量。当请求进⼊时,将根据 预设路由规则进⾏ 能⼒根据 预设规则中不同插件的配置,使⽤⼀系列插件对请求从进⼊到离开的各个阶段进⾏操作。例如:请求 可能会经过⾝份认证(避免重放攻击、参数篡改等)、请求审计(请求来源信息、上游处理时⻓ 等)、路由处理(根据预设规则获取最终上游服务地址)、请求转发(⽹关将请求转发⾄上游⽬标节 点)、请求响应(上游处理完成后,⽹关将结果返回给调⽤⽅)等⼏个步骤。 控制平⾯ 2. 控制平⾯包含了Manag0 码力 | 19 页 | 1.12 MB | 1 年前303-基于Apache APISIX的全流量API网关-温铭
7 亿美元收购 NGINX Apache APISIX 简介 关于 Apache APISIX • 天然的云原生 API 网关 • 中国最快毕业的 Apache 顶级项目 • 全动态:路由、SSL 证书、上游、插件… • 40 多个插件,覆盖:身份认证、安全、日志、可观测性… Apache APISIX 设计思路 • API 网关的数据面和控制面分离 • 通过插件机制来方便二次开发和运维 APISIX 的路由复杂度是 O(k),只和 uri 的长度有关,和路由数量无关;kong 的路由时间复杂 度是 O(n),随着路由数量线性增长。 • Apache APISIX 的 IP 匹配时间复杂度是 O(1),不会随着大量 IP 判断而导致 cpu 资源跑满;kong 的最 新版本也换用了 Apache APISIX 的 IP 匹配库; • Apache APISIX 的路由匹配,接受 nginx 和 Kong 的对比 对⽐比项 APISIX Kong 技术架构 Nginx + etcd Nginx + postgres ⾼高可⽤用 ⾮非常可靠,没有单点 ⼀一般,有数据库 的单点 精细化路路由 ⽀支持 Nginx 变量量和⾃自 定义函数 固定的⼏几个条件 配置⽣生效时间 事件驱动,⼩小于 1 毫秒 轮询拉取,5 秒 处理理延迟 0.2 毫秒 2 毫秒 性能(单核,开启两个限流和 prometheus插件)0 码力 | 11 页 | 6.56 MB | 6 月前3APISEVEN 和Kong EE 的性能评测
API7与KongEE在20,000rps时的对⽐13 图4.API7与KongEE在10,000rps时的JWT对⽐。13 图5.API7与KongEE在10,000rps时的1,000条路由的对⽐14 5-结论15 6-附录16 7-关于GigaOm19 8-关于API720 1-摘要 本报告重点介绍了部署在云上的API管理平台。云让企业通过微服务快速地构建差异和创新,在⼏分钟 点之间分发请求。横向扩展Kong很简单。Kong是⽆状态的,所以向集群添加新节点需要将新节点指 向外部数据库(PostgreSQL或Cassandra),它就可以处理API请求和响应所需的配置、安全、服 务、路由和消费者信息,包括前⾯负载均衡器的IP地址或fullyqualifieddomainname(FQDN)。 Kong有⼀个插件⽣态系统(KongHub),⽀持开源和企业版的插件,如LDAP认证、CORS、动态 NWeb令牌(JWT)⾝份验证,并使⽤JWT凭据对每个请求 进⾏⾝份验证。我们使⽤10,000rps的压测条件进⾏测试。 在第四个测试中,我们⽣成了1000个相同的路由,并以10,000rps在所有路由上平均分配请求。 测试结果记录在报告的第四节。 测试环境 单节点 名称 数量 EC2 攻击节点 1 c4.4xlarge API⽹关数据平⾯ 1 c40 码力 | 14 页 | 1.11 MB | 1 年前3从Apache APISIX 来看API 网关的演进
Apache APISIX 是什么? • 云原生微服务 API 网关 • 基于 Nginx 和 etcd 实现 • 集成了控制面和数据面 • 提供灵活的插件机制 • 动态上游、动态路由、插件热加载 快速的成长 • 6 月 6 号开源 • 7 月被纳入 CNCF 全景图 • 8 月首家付费央企 • 9 月贝壳找房上生成环境,每日处理近 3 亿流量 • 10 月进入 微服务从类库到 proxy • Spring CLoud • Dubbo 痛点:语言绑定、升级难 3. 微服务从 proxy 到 sidecar • 技术变革:云原生 • proxy 的痛点:路由、上游、证书等不能动态 4. 从 sidecar 到 Service Mesh • 痛点:不通用、抽象层次不够 • Service Mesh 想做为基础设施下沉 • Istio + Envoy:控制面和数据面0 码力 | 24 页 | 1.36 MB | 1 年前3基于 Apache APISIX 的下一代微服务架构 -- 从 0 到 1:APISIX 的 Apache 之路
Apache APISIX 是什么? • 云原生微服务 API 网关 • 基于 Nginx 和 etcd 实现 • 集成了控制面和数据面 • 提供灵活的插件机制 • 动态上游、动态路由、插件热加载 快速的成长 • 6 月 6 号开源 • 7 月被纳入 CNCF 全景图 • 8 月首家付费央企 • 9 月贝壳找房上生成环境,每日处理近 3 亿流量 • 10 月进入 微服务从类库到 proxy • Spring CLoud • Dubbo 痛点:语言绑定、升级难 3. 微服务从 proxy 到 sidecar • 技术变革:云原生 • proxy 的痛点:路由、上游、证书等不能动态 4. 从 sidecar 到 Service Mesh • 痛点:不通用、抽象层次不够 • Service Mesh 想做为基础设施下沉 • Istio + Envoy:控制面和数据面0 码力 | 33 页 | 1.55 MB | 1 年前3有了 NGINX 和 Kong,为什么还需要 Apache APISIX-王院生
Kong 的问题 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 Nginx 问题 • 低活跃度的社区 • 社区不友好:提交代码困难 • 静态配置 + reload • 路由太弱 • gRPC 周边弱 • ⽆统⼀管理控制⾯ 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 Kong 问题 • 架构选型:Nginx + PostgreSQL 第 四 期 · ⼴ 州 站 LB / API Gateway (1) • 基于 Nginx,⽀持 Nginx -> APISIX 灰度迁移 • 全动态,⽆需 reload • HTTP(S) 精细化路由 • 内置 40+ 插件,功能强⼤ • ⾃带集群⽅案和控制⾯ 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 LB / API Gateway (2) • 基⾦会项⽬,不⽤担⼼被商业公司锁定0 码力 | 34 页 | 25.78 MB | 6 月前3Apache APISIX 在安信 PaaS 平台的应用
casbin eaas appcenter upms IAM skywalking prometheus kafka-logger ... APISIX在安信PaaS平台的应用 1、路由转发 2、认证 3、鉴权 4、链路 5、监控 6、日志 CAS 与 casbin 2、用户状态支持本地存储 3、用户状态支持redis存储 4、casbin 兼容 RBAC with0 码力 | 14 页 | 621.17 KB | 1 年前3金卫-Apache APISIX 借助 Service Mesh 实现统一技术栈的全流量管理
golang python java wasm ...... 满足多协议的需求 APISIX Service Mesh 上手成本低 开发及扩展相当容易 性能优(尤其是多路由场景) 生态丰富,80+ 插件开箱即用 兼容 xDS,方便迁移 自定义 CRD ,增量推送策略 支持多协议 https://github.com/api7/amesh 下一个版本发布时间0 码力 | 34 页 | 3.50 MB | 6 月前3
共 8 条
- 1