API7 ⽹关技术⽩⽪书图1-1API7架构图 上图为API7产品中控制平⾯(简称CP)与数据平⾯(简称DP)的架构⽰意图,并包含了3个部分: API⽹关 1. ⽤于承载并处理业务流量,管理员在配置路由规则后,⽹关将根据预设规则将请求转发⾄上游服务。 此外,借助API7内置的50多种插件,可实现⾝份验证、安全防护、流量控制、分析监控、请求/响应 转换等常⻅业务需求;若内置插件⽆法满⾜ 实现对路由、上游、证书、全局插件、消 费者等资源的管理。 控制⾯板 3. 为了简化⽹关管理,管理员可以通过Dashboard控制⾯板以可视化形式操作⽹关,⽀持监控分析、⽇ 志审计、多租⼾管理、多集群切换、多⼯作分区等能⼒。 1.1技术架构 数据平⾯ 1. 数据平⾯⽤于接收并处理调⽤⽅请求,使⽤Lua与Nginx动态控制请求流量。当请求进⼊时,将根据 预设路由规则进⾏ 预设路由规则进⾏匹配,匹配到的请求将被⽹关转发⾄对应上游服务。在此过程中,⽹关有能⼒根据 预设规则中不同插件的配置,使⽤⼀系列插件对请求从进⼊到离开的各个阶段进⾏操作。例如:请求 可能会经过⾝份认证(避免重放攻击、参数篡改等)、请求审计(请求来源信息、上游处理时⻓ 等)、路由处理(根据预设规则获取最终上游服务地址)、请求转发(⽹关将请求转发⾄上游⽬标节 点)、请求响应(上游处理完成后,⽹关将结果返回给调⽤⽅)等⼏个步骤。0 码力 | 19 页 | 1.12 MB | 1 年前3
03-基于Apache APISIX的全流量API网关-温铭ng • gRPC 代理和协议转换(REST <=> gRPC) • 身份认证:OpenID Relying Party、OP(Auth0、okta…) • 高性能、无状态、随意扩容和缩容 • 动态配置,不用 reload 服务 • 支持多云、混合云 • 容器优先,Kubernetes 友好 在GANTER报告上有很多顶级厂商做API网关 • 2015 年,IBM 收购 StrongLoop 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 的路由匹配,接受 nginx0 码力 | 11 页 | 6.56 MB | 6 月前3
APISEVEN 和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管理平台。云让企业通过微服务快速地构建差异和创新,在⼏分钟 延迟、软件和操作系统版本以及负载这些⽅⾯的配置可能会有利于其中⼀⽅。更具挑战性的是测试完 全托管的服务产品,我们不知道这些产品的底层配置(处理能⼒、内存、⽹络等)是什么样的。我们 的测试展⽰了⼀⼩部分潜在配置和负载。 作为报告的发起⼈,API7选择了默认的API⽹关⸺该解决⽅案没有根据性能进⾏调整或更改。Kong 企业版选择了在CPU和内存配置⽅⾯最接近的配置。 我们把公平性的问题留给读者来 业部署、配置在⾃⼰选的云上。例如,可以选择亚⻢逊云(AWS EC2)或者Azure虚拟机来安装API组件(管理⼯具和端点),能⾃由配置CPU内核、内存、存储和 ⽹络,能在操作系统层⾯调整环境。这种⽅法的优点是能在企业内部、私有云、公共云或三者混合的 情况下部署。 公有云-完全托管的API管理解决⽅案是指开箱即⽤的服务产品。部署通常⼜快⼜⽅便,但缺乏精细 配置和控制的0 码力 | 14 页 | 1.11 MB | 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 + PostgreSQL 第 四 期 · ⼴ 州 站 LB / API Gateway (1) • 基于 Nginx,⽀持 Nginx -> APISIX 灰度迁移 • 全动态,⽆需 reload • HTTP(S) 精细化路由 • 内置 40+ 插件,功能强⼤ • ⾃带集群⽅案和控制⾯ 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 LB / API Gateway (2) • 基⾦会项⽬,不⽤担⼼被商业公司锁定 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 借助 Service Mesh 实现统一技术栈的全流量管理理想的服务网格应该是什么样? 易于扩展 理想的服务网格 业务无感知 落地成本低 动态且增量配置 安全管控 可观测 流量精细化管理 跨集群部署 性能损耗低 资源消耗低 按需下发配置 理想的服务网格 整体使用体验上 • 学习和上手成本低 • 社区开放、活跃度高 且快速响应 理想的服务网格 控制面 • 易于上手 • 权限安全管控 • 配置方式被大众接受 理想的服务网格 数据面 • 支持多种协议,甚至是自定义协议 降低 Sidecar 资源占用 按需下发配置 配置本身的精简 资源占用降低了 60% 较低的学习/维护成本 APISIX 丰富的文档,快速上手 抽象出来的网关对象通俗易懂 源码基于 lua 易学易懂 二次开发相比 C++ 要简单许多 强大的扩展/定制化能力 配合CRD进行扩展,更灵活 更原生 不侵入Istio原有配置 降低用户迁移成本/减少冲突可 能 通过 controller 与 amesh 进行 配置推送 强大的扩展/定制化能力 APISIX 官方提供 80+ 插件 支持自定义插件,并且快速集成 支持多语言开发 golang python java wasm ...... 满足多协议的需求 APISIX Service Mesh 上手成本低 开发及扩展相当容易 性能优(尤其是多路由场景) 生态丰富,80+0 码力 | 34 页 | 3.50 MB | 6 月前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 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 with 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 来看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
Apache APISIX
微服务⽹关性能架构解析upstream Configuration center ??? Validator ??? Apache APISIX 技术选型 • 配置中⼼心 • 语⾔言或开发平台 • 数据校验 • 加分项:顶级路路由实现 Apache APISIX 技术选型 • 配置中⼼心:⾼高可⽤用、增量量订阅、历史记录 • 语⾔言或开发平台:动态、⾼高性能、⽹网关的周边资 源丰富 • 数据校验:开放标准、有⼀一定的⽣生态系统 数据校验:开放标准、有⼀一定的⽣生态系统 • 学习竞对:从 Ganter 报告中获取前辈列列表,做分 析、⽐比较 Apache APISIX 技术选型 配置中⼼心 why etcd? • 集群⽀支持 • 历史+事务 • 低于毫秒的变化通知 Apache APISIX 技术选型 开发平台:Lua 或 Golang •OpenResty >= 1.15.8 •Tengine >= 2 openid-connect prometheus proxy-rewrite serverless zipkin plugins redirect Apache APISIX 三板斧 • 配置分发借助 etcd ,精简核⼼心 • 基于 radixtree 前缀树路路由 • apisix/core:⾼高性能基础库 • Nginx 变量量提取增强 • 错误⽇日志优化 • table0 码力 | 41 页 | 15.62 MB | 1 年前3
Apache APISIX Roadmap• 高性能 • 动态 • 社区活跃 • 云原生架构 • 多语言 • 插件编排 • Loadbalancer • API 网关 • K8s Ingress • 服务网格 全流量 • 多种配置中心 • 智能诊断 易用 全生命周期生态 感谢聆听 THANKS0 码力 | 26 页 | 2.68 MB | 1 年前3
共 10 条
- 1













