 API7 ⽹关技术⽩⽪书图1-1API7架构图 上图为API7产品中控制平⾯(简称CP)与数据平⾯(简称DP)的架构⽰意图,并包含了3个部分: API⽹关 1. ⽤于承载并处理业务流量,管理员在配置路由规则后,⽹关将根据预设规则将请求转发⾄上游服务。 此外,借助API7内置的50多种插件,可实现⾝份验证、安全防护、流量控制、分析监控、请求/响应 转换等常⻅业务需求;若内置插件⽆法满 数据平⾯⽤于接收并处理调⽤⽅请求,使⽤Lua与Nginx动态控制请求流量。当请求进⼊时,将根据 预设路由规则进⾏匹配,匹配到的请求将被⽹关转发⾄对应上游服务。在此过程中,⽹关有能⼒根据 预设规则中不同插件的配置,使⽤⼀系列插件对请求从进⼊到离开的各个阶段进⾏操作。例如:请求 可能会经过⾝份认证(避免重放攻击、参数篡改等)、请求审计(请求来源信息、上游处理时⻓ 等)、路由处理(根据预设规则获取最终上游服 控制平⾯包含了ManagerAPI与默认配置中⼼ETCD。管理员在访问并操作控制台时,控制台将调⽤ ManagerAPI下发配置到ETCD,借助ETCDWatch机制,配置将在⽹关中实时⽣效。例如:管理员可 增加⼀条路由,并配置限速插件,当触发到限速阈值后,⽹关将会暂时阻⽌后续匹配到该路由的请求 进⼊。借助ETCD的Watch机制,当管理员在控制⾯板更新配置后,API7将在毫秒级别内通知到各个0 码力 | 19 页 | 1.12 MB | 1 年前3 API7 ⽹关技术⽩⽪书图1-1API7架构图 上图为API7产品中控制平⾯(简称CP)与数据平⾯(简称DP)的架构⽰意图,并包含了3个部分: API⽹关 1. ⽤于承载并处理业务流量,管理员在配置路由规则后,⽹关将根据预设规则将请求转发⾄上游服务。 此外,借助API7内置的50多种插件,可实现⾝份验证、安全防护、流量控制、分析监控、请求/响应 转换等常⻅业务需求;若内置插件⽆法满 数据平⾯⽤于接收并处理调⽤⽅请求,使⽤Lua与Nginx动态控制请求流量。当请求进⼊时,将根据 预设路由规则进⾏匹配,匹配到的请求将被⽹关转发⾄对应上游服务。在此过程中,⽹关有能⼒根据 预设规则中不同插件的配置,使⽤⼀系列插件对请求从进⼊到离开的各个阶段进⾏操作。例如:请求 可能会经过⾝份认证(避免重放攻击、参数篡改等)、请求审计(请求来源信息、上游处理时⻓ 等)、路由处理(根据预设规则获取最终上游服 控制平⾯包含了ManagerAPI与默认配置中⼼ETCD。管理员在访问并操作控制台时,控制台将调⽤ ManagerAPI下发配置到ETCD,借助ETCDWatch机制,配置将在⽹关中实时⽣效。例如:管理员可 增加⼀条路由,并配置限速插件,当触发到限速阈值后,⽹关将会暂时阻⽌后续匹配到该路由的请求 进⼊。借助ETCD的Watch机制,当管理员在控制⾯板更新配置后,API7将在毫秒级别内通知到各个0 码力 | 19 页 | 1.12 MB | 1 年前3
 Apache APISIX
微服务⽹关性能架构解析APISIX 第⼀一⾏行行代码 4⽉月 Apache APISIX ⾃自豪 • 核⼼心代码量量,3892 ⾏行行 • 极致的动态转发性能 • 平均请求延迟: 740 us • 插件热加载/卸载 • 允许插件挂载任何阶段 • 路路由⾃自身也是插件 Apache APISIX ⾃自豪 • ⽀支持 ARM64 • 完整⽀支持 IPv6 • 物联⽹网 MQTT 协议 upstream Configuration center ??? Validator ??? Apache APISIX 技术选型 • 配置中⼼心 • 语⾔言或开发平台 • 数据校验 • 加分项:顶级路路由实现 Apache APISIX 技术选型 • 配置中⼼心:⾼高可⽤用、增量量订阅、历史记录 • 语⾔言或开发平台:动态、⾼高性能、⽹网关的周边资 源丰富 • 数据校验:开放标准、有⼀一定的⽣生态系统 数据校验:开放标准、有⼀一定的⽣生态系统 • 学习竞对:从 Ganter 报告中获取前辈列列表,做分 析、⽐比较 Apache APISIX 技术选型 配置中⼼心 why etcd? • 集群⽀支持 • 历史+事务 • 低于毫秒的变化通知 Apache APISIX 技术选型 开发平台:Lua 或 Golang •OpenResty >= 1.15.8 •Tengine >= 20 码力 | 41 页 | 15.62 MB | 1 年前3 Apache APISIX
微服务⽹关性能架构解析APISIX 第⼀一⾏行行代码 4⽉月 Apache APISIX ⾃自豪 • 核⼼心代码量量,3892 ⾏行行 • 极致的动态转发性能 • 平均请求延迟: 740 us • 插件热加载/卸载 • 允许插件挂载任何阶段 • 路路由⾃自身也是插件 Apache APISIX ⾃自豪 • ⽀支持 ARM64 • 完整⽀支持 IPv6 • 物联⽹网 MQTT 协议 upstream Configuration center ??? Validator ??? Apache APISIX 技术选型 • 配置中⼼心 • 语⾔言或开发平台 • 数据校验 • 加分项:顶级路路由实现 Apache APISIX 技术选型 • 配置中⼼心:⾼高可⽤用、增量量订阅、历史记录 • 语⾔言或开发平台:动态、⾼高性能、⽹网关的周边资 源丰富 • 数据校验:开放标准、有⼀一定的⽣生态系统 数据校验:开放标准、有⼀一定的⽣生态系统 • 学习竞对:从 Ganter 报告中获取前辈列列表,做分 析、⽐比较 Apache APISIX 技术选型 配置中⼼心 why etcd? • 集群⽀支持 • 历史+事务 • 低于毫秒的变化通知 Apache APISIX 技术选型 开发平台:Lua 或 Golang •OpenResty >= 1.15.8 •Tengine >= 20 码力 | 41 页 | 15.62 MB | 1 年前3
 金卫-Apache APISIX 借助 Service Mesh 实现统一技术栈的全流量管理理想的服务网格应该是什么样? 易于扩展 理想的服务网格 业务无感知 落地成本低 动态且增量配置 安全管控 可观测 流量精细化管理 跨集群部署 性能损耗低 资源消耗低 按需下发配置 理想的服务网格 整体使用体验上 • 学习和上手成本低 • 社区开放、活跃度高 且快速响应 理想的服务网格 控制面 • 易于上手 • 权限安全管控 • 配置方式被大众接受 理想的服务网格 数据面 • 支持多种协议,甚至是自定义协议 社区活跃  几乎所有主流云厂商都对 istio 有支持  基于 istio 做商业支持的公司也很多,比如 tetrate, solo APISIX作为Istio数据面  使用动态库的方式加载到APISIX 与APISIX生命周期一致 转换 xDS 协议  资源消耗可控  APISIX原生支持 增加了xds discovery  配合CRD进行扩展 Apache APISIX 降低 Sidecar 资源占用  按需下发配置  配置本身的精简 资源占用降低了 60% 较低的学习/维护成本  APISIX 丰富的文档,快速上手  抽象出来的网关对象通俗易懂  源码基于 lua 易学易懂  二次开发相比 C++ 要简单许多 强大的扩展/定制化能力  配合CRD进行扩展,更灵活 更原生 不侵入Istio原有配置 降低用户迁移成本/减少冲突可 能 通过0 码力 | 34 页 | 3.50 MB | 6 月前3 金卫-Apache APISIX 借助 Service Mesh 实现统一技术栈的全流量管理理想的服务网格应该是什么样? 易于扩展 理想的服务网格 业务无感知 落地成本低 动态且增量配置 安全管控 可观测 流量精细化管理 跨集群部署 性能损耗低 资源消耗低 按需下发配置 理想的服务网格 整体使用体验上 • 学习和上手成本低 • 社区开放、活跃度高 且快速响应 理想的服务网格 控制面 • 易于上手 • 权限安全管控 • 配置方式被大众接受 理想的服务网格 数据面 • 支持多种协议,甚至是自定义协议 社区活跃  几乎所有主流云厂商都对 istio 有支持  基于 istio 做商业支持的公司也很多,比如 tetrate, solo APISIX作为Istio数据面  使用动态库的方式加载到APISIX 与APISIX生命周期一致 转换 xDS 协议  资源消耗可控  APISIX原生支持 增加了xds discovery  配合CRD进行扩展 Apache APISIX 降低 Sidecar 资源占用  按需下发配置  配置本身的精简 资源占用降低了 60% 较低的学习/维护成本  APISIX 丰富的文档,快速上手  抽象出来的网关对象通俗易懂  源码基于 lua 易学易懂  二次开发相比 C++ 要简单许多 强大的扩展/定制化能力  配合CRD进行扩展,更灵活 更原生 不侵入Istio原有配置 降低用户迁移成本/减少冲突可 能 通过0 码力 | 34 页 | 3.50 MB | 6 月前3
 03-基于Apache APISIX的全流量API网关-温铭ng • gRPC 代理和协议转换(REST <=> gRPC) • 身份认证:OpenID Relying Party、OP(Auth0、okta…) • 高性能、无状态、随意扩容和缩容 • 动态配置,不用 reload 服务 • 支持多云、混合云 • 容器优先,Kubernetes 友好 在GANTER报告上有很多顶级厂商做API网关 • 2015 年,IBM 收购 StrongLoop Apache APISIX 使用 etcd 作为配置中心,没有单点,任意宕掉一台机 器,网关集群还能正常运行。其他基于 mysql,postgres 的网关都会有单点 问题 • Apache APISIX 的配置下发只要 1 毫秒就能达到所有网关节点,使用的是 etcd 的 watch;其他网关是 定期轮询数据库,一般需要 5 秒才能获取到最新配置 • 只有 Apache APISIX 开放了自定义负载均衡的挂载点,其他网关都不支持 技术架构 Nginx + etcd Nginx + postgres ⾼高可⽤用 ⾮非常可靠,没有单点 ⼀一般,有数据库 的单点 精细化路路由 ⽀支持 Nginx 变量量和⾃自 定义函数 固定的⼏几个条件 配置⽣生效时间 事件驱动,⼩小于 1 毫秒 轮询拉取,5 秒 处理理延迟 0.2 毫秒 2 毫秒 性能(单核,开启两个限流和 prometheus插件) 18000 1700 支持流量量复制和故障 是 否0 码力 | 11 页 | 6.56 MB | 6 月前3 03-基于Apache APISIX的全流量API网关-温铭ng • gRPC 代理和协议转换(REST <=> gRPC) • 身份认证:OpenID Relying Party、OP(Auth0、okta…) • 高性能、无状态、随意扩容和缩容 • 动态配置,不用 reload 服务 • 支持多云、混合云 • 容器优先,Kubernetes 友好 在GANTER报告上有很多顶级厂商做API网关 • 2015 年,IBM 收购 StrongLoop Apache APISIX 使用 etcd 作为配置中心,没有单点,任意宕掉一台机 器,网关集群还能正常运行。其他基于 mysql,postgres 的网关都会有单点 问题 • Apache APISIX 的配置下发只要 1 毫秒就能达到所有网关节点,使用的是 etcd 的 watch;其他网关是 定期轮询数据库,一般需要 5 秒才能获取到最新配置 • 只有 Apache APISIX 开放了自定义负载均衡的挂载点,其他网关都不支持 技术架构 Nginx + etcd Nginx + postgres ⾼高可⽤用 ⾮非常可靠,没有单点 ⼀一般,有数据库 的单点 精细化路路由 ⽀支持 Nginx 变量量和⾃自 定义函数 固定的⼏几个条件 配置⽣生效时间 事件驱动,⼩小于 1 毫秒 轮询拉取,5 秒 处理理延迟 0.2 毫秒 2 毫秒 性能(单核,开启两个限流和 prometheus插件) 18000 1700 支持流量量复制和故障 是 否0 码力 | 11 页 | 6.56 MB | 6 月前3
 从Apache APISIX 来看API 网关的演进Apache APISIX 是什么? • 云原生微服务 API 网关 • 基于 Nginx 和 etcd 实现 • 集成了控制面和数据面 • 提供灵活的插件机制 • 动态上游、动态路由、插件热加载 快速的成长 • 6 月 6 号开源 • 7 月被纳入 CNCF 全景图 • 8 月首家付费央企 • 9 月贝壳找房上生成环境,每日处理近 3 亿流量 • 10 月进入 Apache0 码力 | 24 页 | 1.36 MB | 1 年前3 从Apache APISIX 来看API 网关的演进Apache APISIX 是什么? • 云原生微服务 API 网关 • 基于 Nginx 和 etcd 实现 • 集成了控制面和数据面 • 提供灵活的插件机制 • 动态上游、动态路由、插件热加载 快速的成长 • 6 月 6 号开源 • 7 月被纳入 CNCF 全景图 • 8 月首家付费央企 • 9 月贝壳找房上生成环境,每日处理近 3 亿流量 • 10 月进入 Apache0 码力 | 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 月进入 Apache0 码力 | 33 页 | 1.55 MB | 1 年前3 基于 Apache APISIX 的下一代微服务架构 -- 从 0 到 1:APISIX 的 Apache 之路Apache APISIX 是什么? • 云原生微服务 API 网关 • 基于 Nginx 和 etcd 实现 • 集成了控制面和数据面 • 提供灵活的插件机制 • 动态上游、动态路由、插件热加载 快速的成长 • 6 月 6 号开源 • 7 月被纳入 CNCF 全景图 • 8 月首家付费央企 • 9 月贝壳找房上生成环境,每日处理近 3 亿流量 • 10 月进入 Apache0 码力 | 33 页 | 1.55 MB | 1 年前3
 APISEVEN 和Kong EE 的性能评测延迟、软件和操作系统版本以及负载这些⽅⾯的配置可能会有利于其中⼀⽅。更具挑战性的是测试完 全托管的服务产品,我们不知道这些产品的底层配置(处理能⼒、内存、⽹络等)是什么样的。我们 的测试展⽰了⼀⼩部分潜在配置和负载。 作为报告的发起⼈,API7选择了默认的API⽹关⸺该解决⽅案没有根据性能进⾏调整或更改。Kong 企业版选择了在CPU和内存配置⽅⾯最接近的配置。 我们把公平性的问题留给读者来 业部署、配置在⾃⼰选的云上。例如,可以选择亚⻢逊云(AWS EC2)或者Azure虚拟机来安装API组件(管理⼯具和端点),能⾃由配置CPU内核、内存、存储和 ⽹络,能在操作系统层⾯调整环境。这种⽅法的优点是能在企业内部、私有云、公共云或三者混合的 情况下部署。 公有云-完全托管的API管理解决⽅案是指开箱即⽤的服务产品。部署通常⼜快⼜⽅便,但缺乏精细 配置和控制的 点之间分发请求。横向扩展Kong很简单。Kong是⽆状态的,所以向集群添加新节点需要将新节点指 向外部数据库(PostgreSQL或Cassandra),它就可以处理API请求和响应所需的配置、安全、服 务、路由和消费者信息,包括前⾯负载均衡器的IP地址或fullyqualifieddomainname(FQDN)。 Kong有⼀个插件⽣态系统(KongHub),⽀持0 码力 | 14 页 | 1.11 MB | 1 年前3 APISEVEN 和Kong EE 的性能评测延迟、软件和操作系统版本以及负载这些⽅⾯的配置可能会有利于其中⼀⽅。更具挑战性的是测试完 全托管的服务产品,我们不知道这些产品的底层配置(处理能⼒、内存、⽹络等)是什么样的。我们 的测试展⽰了⼀⼩部分潜在配置和负载。 作为报告的发起⼈,API7选择了默认的API⽹关⸺该解决⽅案没有根据性能进⾏调整或更改。Kong 企业版选择了在CPU和内存配置⽅⾯最接近的配置。 我们把公平性的问题留给读者来 业部署、配置在⾃⼰选的云上。例如,可以选择亚⻢逊云(AWS EC2)或者Azure虚拟机来安装API组件(管理⼯具和端点),能⾃由配置CPU内核、内存、存储和 ⽹络,能在操作系统层⾯调整环境。这种⽅法的优点是能在企业内部、私有云、公共云或三者混合的 情况下部署。 公有云-完全托管的API管理解决⽅案是指开箱即⽤的服务产品。部署通常⼜快⼜⽅便,但缺乏精细 配置和控制的 点之间分发请求。横向扩展Kong很简单。Kong是⽆状态的,所以向集群添加新节点需要将新节点指 向外部数据库(PostgreSQL或Cassandra),它就可以处理API请求和响应所需的配置、安全、服 务、路由和消费者信息,包括前⾯负载均衡器的IP地址或fullyqualifieddomainname(FQDN)。 Kong有⼀个插件⽣态系统(KongHub),⽀持0 码力 | 14 页 | 1.11 MB | 1 年前3
 Apache APISIX 在安信 PaaS 平台的应用下一步 CONTENT 网关选型 需求、场景与匹配度 01 安信技术平台演进 O U R B E G I N N I N G S 技术平台室成立 服务化平台建设(脚手架、 链路、监控、配置中心) 容器云建设 DevOps平台建设 2 0 1 9 2 0 2 0 容器云、服务化平台与 Devops推广,覆盖全部自研 系统 O U R B E G I N N I N G 1、认证鉴权功能从业务代码剥离 APISIX helm模板 APISIX 插件模板 APISIX upstream&API 应用模板 应用发布 安信PaaS平台如何管理APISIX 版本、节点数、资源、配置文件 链路、监控、日志、认证、流控 APISIX 告警模板 对接内部告警平台 初始化 upstream 和 API service1 service2 service3 service1/*0 码力 | 14 页 | 621.17 KB | 1 年前3 Apache APISIX 在安信 PaaS 平台的应用下一步 CONTENT 网关选型 需求、场景与匹配度 01 安信技术平台演进 O U R B E G I N N I N G S 技术平台室成立 服务化平台建设(脚手架、 链路、监控、配置中心) 容器云建设 DevOps平台建设 2 0 1 9 2 0 2 0 容器云、服务化平台与 Devops推广,覆盖全部自研 系统 O U R B E G I N N I N G 1、认证鉴权功能从业务代码剥离 APISIX helm模板 APISIX 插件模板 APISIX upstream&API 应用模板 应用发布 安信PaaS平台如何管理APISIX 版本、节点数、资源、配置文件 链路、监控、日志、认证、流控 APISIX 告警模板 对接内部告警平台 初始化 upstream 和 API service1 service2 service3 service1/*0 码力 | 14 页 | 621.17 KB | 1 年前3
 有了 NGINX 和 Kong,为什么还需要 Apache APISIX-王院生州 站 Nginx 和 Kong 的问题 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 Nginx 问题 • 低活跃度的社区 • 社区不友好:提交代码困难 • 静态配置 + reload • 路由太弱 • gRPC 周边弱 • ⽆统⼀管理控制⾯ 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 Kong 问题 • 架构选型:Nginx p 第 四 期 · ⼴ 州 站 • Apache APISIX, 由你决定 • 与 Spring Cloud、Dubbo 等微服务框架良好集成 • APISIX Mesh:Q2 季度开源 • ⽀持更多配置中⼼:redis、nacos、PostgreSQL、MySQL 等 • ⾃定义 RPC 协议:⽀持多路复⽤,Q3-4 季度开源 APISIX 初步计划 云 原 ⽣ 社 区 M e e t u0 码力 | 34 页 | 25.78 MB | 6 月前3 有了 NGINX 和 Kong,为什么还需要 Apache APISIX-王院生州 站 Nginx 和 Kong 的问题 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 Nginx 问题 • 低活跃度的社区 • 社区不友好:提交代码困难 • 静态配置 + reload • 路由太弱 • gRPC 周边弱 • ⽆统⼀管理控制⾯ 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 Kong 问题 • 架构选型:Nginx p 第 四 期 · ⼴ 州 站 • Apache APISIX, 由你决定 • 与 Spring Cloud、Dubbo 等微服务框架良好集成 • APISIX Mesh:Q2 季度开源 • ⽀持更多配置中⼼:redis、nacos、PostgreSQL、MySQL 等 • ⾃定义 RPC 协议:⽀持多路复⽤,Q3-4 季度开源 APISIX 初步计划 云 原 ⽣ 社 区 M e e t u0 码力 | 34 页 | 25.78 MB | 6 月前3
 Apache APISIX Roadmap• 高性能 • 动态 • 社区活跃 • 云原生架构 • 多语言 • 插件编排 • Loadbalancer • API 网关 • K8s Ingress • 服务网格 全流量 • 多种配置中心 • 智能诊断 易用 全生命周期生态 感谢聆听 THANKS0 码力 | 26 页 | 2.68 MB | 1 年前3 Apache APISIX Roadmap• 高性能 • 动态 • 社区活跃 • 云原生架构 • 多语言 • 插件编排 • Loadbalancer • API 网关 • K8s Ingress • 服务网格 全流量 • 多种配置中心 • 智能诊断 易用 全生命周期生态 感谢聆听 THANKS0 码力 | 26 页 | 2.68 MB | 1 年前3
共 10 条
- 1













