API7 ⽹关技术⽩⽪书
效解决海量请求、恶意访问等问题,以保障业务安全性与稳定性。 图1-1API7架构图 上图为API7产品中控制平⾯(简称CP)与数据平⾯(简称DP)的架构⽰意图,并包含了3个部分: API⽹关 1. ⽤于承载并处理业务流量,管理员在配置路由规则后,⽹关将根据预设规则将请求转发⾄上游服务。 此外,借助API7内置的50多种插件,可实现⾝份验证、安全防护、流量控制、分析监控、请求/响应 关节点;⽹关节点⽆状态,可任意扩容或 缩容; 协议转换 3. ⽀持丰富的协议类型,如TCP/UDP、Dubbo、MQTT、gRPC、SOAP、WebSocket等; 安全防护 4. 内置多种⾝份验证与安全防护能⼒,如BasicAuth、JSONWebToken、IP⿊⽩名单、OAuth等; 性能极⾼ 5. API7使⽤Radixtree算法实现⾼性能、灵活路 • 服务治理:API7⽀持熔断、限流、限速、IP⿊⽩名单、故障隔离等能⼒,通过控制台可视化⾯ 板,可⽅便、清楚地完成相关功能设置; • ⾃定义插件:API7内置了50多种插件,涵盖安全防护、流量控制、⽇志记录等各个分类,可满⾜ 绝⼤多数企业需求。对于特定业务,API7⽬前⽀持Lua、Java、Go、Python编写⾃定义插件, 且插件可以作⽤于流量进出的各个阶段。得益于0 码力 | 19 页 | 1.12 MB | 1 年前303-基于Apache APISIX的全流量API网关-温铭
担任CEO&联合创始人, Apache 顶级项目APISIX的PMC主席, Skywalking开源项目的贡献者(commiter)。在创业之前, 在360做企业安全, 360开源委员会的发起人, 腾讯的TVP, TARS基金会的TOC成员, 在安全领域有四十多个专利, 最近三年全 职在做服务端的开源项目开发。在极客时间专栏著有OpenResty从入门到实战。 我们发现很多应用和服务都在向微服务、容器迁移 服务数量、难以管理 使用API网关模式 使用API网关进行API聚合 使用API网关实现灰度发布 使用API网关实现服务熔断 与传统API网关的功能 • 让 API 请求更安全、更高效的得到处理 • 覆盖 Nginx 的所有功能:反向代理、负载均衡 • 动态上游、动态 SSL 证书、动态限流限速 • 主动/被动健康检查、服务熔断 不同的云原生下的新功能 • 对接 中国最快毕业的 Apache 顶级项目 • 全动态:路由、SSL 证书、上游、插件… • 40 多个插件,覆盖:身份认证、安全、日志、可观测性… Apache APISIX 设计思路 • API 网关的数据面和控制面分离 • 通过插件机制来方便二次开发和运维 • 高可用,没有单点故障 • 安全和稳定第一:基于 Nginx 实现;mTLS 认证;敏感信息加密加盐(salt)保存 • 高性能:单核心 QPS0 码力 | 11 页 | 6.56 MB | 6 月前3从Apache APISIX 来看API 网关的演进
关于我 • Apache APISIX PPMC • 深圳支流科技创始人 • 《OpenResty 从入门到实战》极客时间专栏作者 • 曾在奇虎 360 担任企业安全架构师,开源委员会发起人、委员 • 40 多项安全方面的专利 大纲 • Apache APISIX 是什么? • Apache APISIX 能解决什么问题? • API 网关的演进 • 微服务是如何演进到 ARM64 平台,并推出 apisix-ingress-controller • 12 月:即将推出新一代微服务架构方案 NASA 也在使用 API 网关的传统功能 • 让 API 请求更安全、更高效的得到处理 • 覆盖 Nginx 的所有功能:反向代理、负载均衡 • 动态上游、动态 SSL 证书、动态限流限速 • 主动/被动健康检查、服务熔断 云原生下的新功能 • 对接0 码力 | 24 页 | 1.36 MB | 1 年前3金卫-Apache APISIX 借助 Service Mesh 实现统一技术栈的全流量管理
将通用能力下沉 应用专注于业务逻辑 注册发现 流量管理 可观测性 安全防护 服务网格的痛点 方案众多,各有缺陷 与基础设施整合成本高 性能损耗 资源的额外消耗 扩展难度高 理想的服务网格应该是什么样? 易于扩展 理想的服务网格 业务无感知 落地成本低 动态且增量配置 安全管控 可观测 流量精细化管理 跨集群部署 性能损耗低 资源消耗低 按需下发配置 理想的服务网格 整体使用体验上 • 学习和上手成本低 • 社区开放、活跃度高 且快速响应 理想的服务网格 控制面 • 易于上手 • 权限安全管控 • 配置方式被大众接受 理想的服务网格 数据面 • 支持多种协议,甚至是自定义协议 • 性能损耗低 • 资源占用在可控范围 • 启动速度快 • 方便定位问题 • 扩展能力强 APISIX 在 Service Mesh 上的尝试 控制面的抉择0 码力 | 34 页 | 3.50 MB | 6 月前3基于 Apache APISIX 的下一代微服务架构 -- 从 0 到 1:APISIX 的 Apache 之路
关于我 • Apache APISIX PPMC • 深圳支流科技创始人 • 《OpenResty 从入门到实战》极客时间专栏作者 • 曾在奇虎 360 担任企业安全架构师,开源委员会发起人、委员 • 40 多项安全方面的专利 Apache Way • 社区大于代码:烂代码可以改,不健康的社区没治 • 优先邮件列表:邮件列表中没有出现的,就当做不存在;72 小时原则 • 精英治理:贡献越大,声音越大 ARM64 平台,并推出 apisix-ingress-controller • 12 月:即将推出新一代微服务架构方案 NASA 也在使用 API 网关的传统功能 • 让 API 请求更安全、更高效的得到处理 • 覆盖 Nginx 的所有功能:反向代理、负载均衡 • 动态上游、动态 SSL 证书、动态限流限速 • 主动/被动健康检查、服务熔断 云原生下的新功能 • 对接0 码力 | 33 页 | 1.55 MB | 1 年前3APISEVEN 和Kong EE 的性能评测
由于API的激增,公司需要管理内外部所依赖的众多服务。API在协议、⽅法、授权/认证和使⽤⽅⾯ 差异很⼤。此外,IT部⻔需要对API进⾏精细化控制,限制速率、调⽤次数,制定策略和⽤⼾⾝份识 别来确保⾼可⽤性,防⽌滥⽤和安全漏洞。公开API为许多合作伙伴打开了⼤⻔,他们可以在不了解 底层技术的情况下共同创建和扩展核⼼平台。 根据企业需求和底层架构,云上管理API有很⼤差异。所以为了便于讨论,我们把云上的API管理划 015年开源的,功能丰 富。Kong利⽤NGINX的底层API⽹关,并增加了开源插件⽀持、负载平衡和服务发现等功能。Kong 企业版具有扩展的功能,如管理看板、可定制的开发者⻔⼾、安全插件、metrics和7×24h的服务⽀ 持。2019年,Kong发布了⼀个完全托管的云产品,KongCloud。我们没有测试KongCloud。 Kong企业版既可以部署在云上 点之间分发请求。横向扩展Kong很简单。Kong是⽆状态的,所以向集群添加新节点需要将新节点指 向外部数据库(PostgreSQL或Cassandra),它就可以处理API请求和响应所需的配置、安全、服 务、路由和消费者信息,包括前⾯负载均衡器的IP地址或fullyqualifieddomainname(FQDN)。 Kong有⼀个插件⽣态系统(KongHub),⽀持开源和0 码力 | 14 页 | 1.11 MB | 1 年前3Apache APISIX 在金山办公的开发和落地实践
to Get Rusty, Ea sily? • mlua(https://github.com/khvzak/mlua) • high-level lua rust binding • 相对安全 • 支持 module 模式,将 rust 构建为 shared object 供 lua 直接使用 • 支持 rust 高级语义 基于 Apache APISIX 破局 基于 Apache 中做分配大段内存再同步回 lua 的操作 • 不要在 rust 中通过指针回调 lua • 做好性能测试 解决 Nginx 带来的问题 为什么不考虑... ... • C/C++? 没有 rust 的内存安全,既然要解决 lua 的人因问题就不要引入另一个。rust 和它们 是 ABI 兼容的,它们能做的能用的 rust 也可以。 • WASM/WASI? rust 能够轻松地构建 WASM target,Apache0 码力 | 27 页 | 4.88 MB | 1 年前3Apache APISIX Roadmap
over code” W r i t e h e r e S o m e t h i n g a b o u t APISIX Way == Community Way • 基金会项目 • 安全 • 稳定 • 高性能 • 动态 • 社区活跃 • 云原生架构 • 多语言 • 插件编排 • Loadbalancer • API 网关 • K8s Ingress • 服务网格 全流量0 码力 | 26 页 | 2.68 MB | 1 年前3Apache APISIX 在安信 PaaS 平台的应用
环境选择 (sit、uat、prd) APISIX 初始化 一些思考 03 落地实践、用户反馈 独立集群:提供镜像,用户自主管理;学习成本高;运维成本高 共享集群:降低运维成本;故障风险扩大;用户信息安全 短小、精悍;匹配标准场景 非标准场景适配 worker_processes ingress做网关入口可能产生的问题 1、独立集群 or 共享集群 2、插件场景匹配 3、云原生环境下的问题0 码力 | 14 页 | 621.17 KB | 1 年前3有了 NGINX 和 Kong,为什么还需要 Apache APISIX-王院生
云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 APISIX 定位 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 • 基⾦会项⽬ • 安全 • 稳定 • ⾼性能 • 动态 • 社区活跃 • 云原⽣架构 • 多语⾔ • 插件编排 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 APISIX 定位0 码力 | 34 页 | 25.78 MB | 6 月前3
共 10 条
- 1