有了 NGINX 和 Kong,为什么还需要 Apache APISIX-王院生有了 NGINX 和 Kong 为什么还需要 Apache APISIX 演讲⼈:王院⽣@深圳⽀流科技公司 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 有了 NGINX 和 Kong 为什么还需要 Apache APISIX? 王院⽣@⽀流科技 ⽬录 1. 个⼈和公司介绍 2. 后端架构演变史 3. Nginx 和 Kong 的问题 4. Apache APISIX 现状 5. Apache APISIX 未来计划 CONTENTS 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 王院⽣ Apache APISIX Founder & PMC 《OpenResty 最佳实践》作者 投资⽅:真格基⾦,真成投资,顺为资本 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 ⽀流科技 • 开源爱好者 • Apache APISIX、Apache SkyWalking、NGINX、 Kubernetes 等贡献者构成 • 中美远程协作,没有 996 • 分布中国 9 个不同城市 • ⼀家绝对技术说了算的公司 云 原 ⽣ 社 区 M e e t u p 第 四 期 ·0 码力 | 34 页 | 25.78 MB | 6 月前3
03-基于Apache APISIX的全流量API网关-温铭使用API网关进行API聚合 使用API网关实现灰度发布 使用API网关实现服务熔断 与传统API网关的功能 • 让 API 请求更安全、更高效的得到处理 • 覆盖 Nginx 的所有功能:反向代理、负载均衡 • 动态上游、动态 SSL 证书、动态限流限速 • 主动/被动健康检查、服务熔断 不同的云原生下的新功能 • 对接 Prometheus、Zipkin、Skywalking 年,Salesforce 65 亿美元收购 MuleSoft • 2018 年, Broadcom 189 亿美元收购 CA Technologies • 2019 年,F5 收购 6.7 亿美元收购 NGINX Apache APISIX 简介 关于 Apache APISIX • 天然的云原生 API 网关 • 中国最快毕业的 Apache 顶级项目 • 全动态:路由、SSL 证书、上游、插件… 多个插件,覆盖:身份认证、安全、日志、可观测性… Apache APISIX 设计思路 • API 网关的数据面和控制面分离 • 通过插件机制来方便二次开发和运维 • 高可用,没有单点故障 • 安全和稳定第一:基于 Nginx 实现;mTLS 认证;敏感信息加密加盐(salt)保存 • 高性能:单核心 QPS 1.5 万,延迟低于 0.7 毫秒 • 运维友好:Prometheus, SkyWalking,流量复制,故障注入等0 码力 | 11 页 | 6.56 MB | 6 月前3
APISEVEN 和Kong EE 的性能评测API7是混合云的部署模式,可⽤于多云、企业内部和混合环境。 Kong企业版 Kong的原名是Mashape,在API平台发布的时候改名为Kong。Kong是在2015年开源的,功能丰 富。Kong利⽤NGINX的底层API⽹关,并增加了开源插件⽀持、负载平衡和服务发现等功能。Kong 企业版具有扩展的功能,如管理看板、可定制的开发者⻔⼾、安全插件、metrics和7×24h的服务⽀ 持。 Apt-Get),在他们的仓库⾥有Kong,⽽且还有Docker和CloudFormation选项。 Kong可以作为⼀个单节点运⾏,也可以作为多节点集群。在集群中,负载均衡器(如开源的 NGINX)被⽤在边缘节点为客⼾端提供单个地址,并使⽤选定的策略(例如循环或加权)在Kong节 点之间分发请求。横向扩展Kong很简单。Kong是⽆状态的,所以向集群添加新节点需要将新节点指 (FQDN)。 Kong有⼀个插件⽣态系统(KongHub),⽀持开源和企业版的插件,如LDAP认证、CORS、动态 SSL、AWSLambda、Syslog等。因为它是基于NGINX的,所以Kong允许⽤⼾使⽤LuaJIT创建⾃⼰ 的插件。 3-GigaOmAPI负载测试设置 API压⼒测试 GigaOmAPIWorkloadFieldTe0 码力 | 14 页 | 1.11 MB | 1 年前3
Apache APISIX 在金山办公的开发和落地实践APISIX 在金山办公的开发和落地实践 张强 金山办公 01 前情回顾&增补 02 关于 OpenResty 和 Lua 的思考 03 基于 Apache APISIX 破局 04 解决 Nginx 带来的问题 CONTENT W r i t e h e r e S o m e t h i n g a b o u t 前情回顾 & 增补 01 About •金山办公云原生应用组流量网关 Lua 的思考 Nginx 的设计给 “ 平均水平 ” 终端开发者带来的问题 •多进程模型 + 异步 •线上问题难以调试 •多进程间同步效率低 •以nginx-lua-prometheus为例 (https://github.com/knyar/nginx-lua-prometheus/issues/107) 关于 OpenResty 和 Lua 的思考 Lua + Nginx = � 难上加难,左右为难 fundamental theorem of software engineering (FTSE) 基于 Apache APISIX 破局 What about… Rust + Lua + Nginx? 让 Lua 回归胶水本质! 基于 Apache APISIX 破局 How ? 基于Lua的C API(lua_*),构建原生lua模块,产物为一个Shared Object, Lua0 码力 | 27 页 | 4.88 MB | 1 年前3
10-APISIX 与 SkyWalking 的最佳实践-王院生TRACE APISIX 如何⽀持 SKYWALKING NGINX 如何⽀持 SKYWALKING rewrite phase bodyfiler phase log phase init worker phase background timer SkyWalking client share dict Nginx + Lua http(s) ⼆次优化实践 ⼆次优化实践 - ⾼性能调优利器,⽕焰图 background timer client Lua table Nginx + Lua http(s) rewrite phase bodyfiler phase log phase init worker phase background timer client share dict Nginx + Lua http(s) ⼆次优化实践 ➤ Nginx 性能很⾼,⽽⾼性能的代码有时候是不优雅的 ➤ reuse 20-30% ,后⾯会有更好表现 ➤ PR:https://github.com/apache/skywalking-nginx-lua/pull/49 为什么要参与开源项⽬ “懂王下线,赌王上线” 懂王下线,赌王上线 [bug] SkyWalking-nginx-lua0.3.0 traceid repeat all the time: https://github.co0 码力 | 29 页 | 7.43 MB | 6 月前3
基于 Apache APISIX 的下一代微服务架构 -- 从 0 到 1:APISIX 的 Apache 之路文化的碰撞,不在一朝一夕 • 沟通方式:邮件列表公开聊(异步、慢)还是私聊(同步、快)? • 投票:精英民主还是仁慈的君主? • 职位:是义务还是权力? 持续召集贡献者和 committer 讨论:Nginx 的版权问题 基于 Apache APISIX 的 下一代微服务架构 温铭 wenming@apache.org 大纲 • Apache APISIX 是什么? • Apache Service Mesh 的? • Service Mesh 是银弹吗? • 下一代微服务架构是什么? Apache APISIX 是什么? • 云原生微服务 API 网关 • 基于 Nginx 和 etcd 实现 • 集成了控制面和数据面 • 提供灵活的插件机制 • 动态上游、动态路由、插件热加载 快速的成长 • 6 月 6 号开源 • 7 月被纳入 CNCF 全景图 apisix-ingress-controller • 12 月:即将推出新一代微服务架构方案 NASA 也在使用 API 网关的传统功能 • 让 API 请求更安全、更高效的得到处理 • 覆盖 Nginx 的所有功能:反向代理、负载均衡 • 动态上游、动态 SSL 证书、动态限流限速 • 主动/被动健康检查、服务熔断 云原生下的新功能 • 对接 Prometheus、Zipkin、Skywalking0 码力 | 33 页 | 1.55 MB | 1 年前3
从Apache APISIX 来看API 网关的演进网关的演进 • 微服务是如何演进到 Service Mesh 的? • 下一代微服务架构是什么? Apache APISIX 是什么? • 云原生微服务 API 网关 • 基于 Nginx 和 etcd 实现 • 集成了控制面和数据面 • 提供灵活的插件机制 • 动态上游、动态路由、插件热加载 快速的成长 • 6 月 6 号开源 • 7 月被纳入 CNCF 全景图 apisix-ingress-controller • 12 月:即将推出新一代微服务架构方案 NASA 也在使用 API 网关的传统功能 • 让 API 请求更安全、更高效的得到处理 • 覆盖 Nginx 的所有功能:反向代理、负载均衡 • 动态上游、动态 SSL 证书、动态限流限速 • 主动/被动健康检查、服务熔断 云原生下的新功能 • 对接 Prometheus、Zipkin、Skywalking 容器优先,Kubernetes 友好 Apache APISIX 能做什么? • 处理 L4、L7 层流量:HTTP、HTTPS、TCP、UDP、MQTT、Dubbo、gRPC… • 替代 Nginx 处理南北向流量 • 替代 Envoy 处理服务间东西向流量 • k8s ingress controller • 借助 MQTT 插件作为 IoT 网关 • 借助 IdP 插件成为零信任网关0 码力 | 24 页 | 1.36 MB | 1 年前3
Apache APISIX How to implement plugin orchestration in API GatewayApache APISIX • Cloud Native API Gateway (https://github.com/apache/apisix) • Cover all features of Nginx • Fully dynamic: routing, SSL certificates, upstream, plugins… • More than 40 plugins: authentication What can Apache APISIX do? • Handle L4、L7 traffic:HTTP、HTTPS、TCP、UDP、MQTT、Dubbo、gRPC… • Replace Nginx to handle north-south traffic • Replace Envoy to handle east-west traffic between services • k8s layer • Envoy、Kong、Apache APISIX:full traffic access layer • no longer the traditional functions of Nginx and F5 • Open source projects blooming:BFE、MOSN Low Code • PM can directly implement features by0 码力 | 28 页 | 1.19 MB | 6 月前3
Apache APISIX
微服务⽹关性能架构解析低于毫秒的变化通知 Apache APISIX 技术选型 开发平台:Lua 或 Golang •OpenResty >= 1.15.8 •Tengine >= 2.3.2 •基于 Nginx •调⽤用动态库:C/C++,Golang 等 Apache APISIX 技术选型 数据校验:jsonschema • 数据校验规范:Google 排名第⼀一 • 有多个不不同语⾔言客户端,涵盖了了⼏几乎⽬目前主流的 module feature etcd Apache APISIX 架构 Apache APISIX 插件 Apache APISIX 插件 • 按需“继承” • 优先级排序 • 挂载 Nginx 所有阶段 • 插件热加载、卸载 • 插件临时禁⽤用 Apache APISIX 插件 grpc-transcode heartbeat ip-restriction jwt-auth redirect Apache APISIX 三板斧 • 配置分发借助 etcd ,精简核⼼心 • 基于 radixtree 前缀树路路由 • apisix/core:⾼高性能基础库 • Nginx 变量量提取增强 • 错误⽇日志优化 • table 池优化 Apache APISIX 功能 Apache APISIX 功能 • Cloud-Native • Dynamic0 码力 | 41 页 | 15.62 MB | 1 年前3
API7 ⽹关技术⽩⽪书制⾯板以可视化形式操作⽹关,⽀持监控分析、⽇ 志审计、多租⼾管理、多集群切换、多⼯作分区等能⼒。 1.1技术架构 数据平⾯ 1. 数据平⾯⽤于接收并处理调⽤⽅请求,使⽤Lua与Nginx动态控制请求流量。当请求进⼊时,将根据 预设路由规则进⾏匹配,匹配到的请求将被⽹关转发⾄对应上游服务。在此过程中,⽹关有能⼒根据 预设规则中不同插件的配置,使⽤⼀系列插件对请求从进⼊到离开的各个阶段进⾏操作。例如:请求 放的需求,并能够达到鉴权的⽬的; • 服务路由:API7基于Radixtree实现⾼效的路由匹配,是⽬前匹配路由速度最快的API⽹关。它⽀ 持全路径匹配、前缀匹配,也⽀持使⽤Nginx内置变量作为匹配条件,以此实现精细化路由。此 外,API7⽀持流量镜像与⾼级路由匹配功能,可实现灰度发布等精细化路由管理功能。此外,它 也⽀持服务发现与多种注册中⼼,并有能⼒根据请求中H 由 URI参数匹配 ✔ ✔ ✔ ✔ ✔ HTTP请求头匹配 ✔ ✔ ✖ ✔ ✔ HTTP请求⽅法匹配 ✔ ✔ ✖ ✔ ✔ ⽀持所有Nginx变量匹配 ✔ ✖ ✖ ✔ ✖ ⽀持Lua代码段实现⾃定义匹配 ✔ ✖ ✖ ✖ ✖ ⽀持条件表达式 ✔ ✖ ✖ ✖0 码力 | 19 页 | 1.12 MB | 1 年前3
共 11 条
- 1
- 2













