Apache APISIX 在金山办公的开发和落地实践
Apache 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 •金山办公云原生应用组流量网关 Lead Developer •金山办公作为 Apache APISIX 较早的受益者,使用Apache APISIX 承载百万QPS流量,对 Apache APISIX 做了比较深 入的定制开发 W r i t e h e r e S o m e t h i n g Ab o u t 选择好 router radixtree_uri vs radixtree_host_uri 玩 •Lua 开发环境,特别是 OpenResty 相关的比较弱 •难招人,后端开发转 lua 成本高昂 “A programming language designed primarily for embedded use in applications” Wikipedia - Lua 关于 OpenResty 和 Lua 的思考 Nginx 的设计给 “ 平均水平 ” 终端开发者带来的问题0 码力 | 27 页 | 4.88 MB | 1 年前303-基于Apache APISIX的全流量API网关-温铭
Skywalking开源项目的贡献者(commiter)。在创业之前, 在360做企业安全, 360开源委员会的发起人, 腾讯的TVP, TARS基金会的TOC成员, 在安全领域有四十多个专利, 最近三年全 职在做服务端的开源项目开发。在极客时间专栏著有OpenResty从入门到实战。 我们发现很多应用和服务都在向微服务、容器迁移, 形成新的云原生时代。云原生是未来五到十年一个 非常大的一个技术的一个颠覆, 云原生重写了传统的一些企业的技术架构 任一请求都会负载到整个的单体服务集群上 在微服务架构上, 对应请求会负载到对应的微服务子服务集群上 微服务的精细管理带来服务的弹性伸缩、开发团队变得敏捷、服务之 间隔离、降低故障率 但是同样的带来的一些问题: 接口之间通用的功能重复开发、膨胀的 服务数量、难以管理 使用API网关模式 使用API网关进行API聚合 使用API网关实现灰度发布 使用API网关实现服务熔断 全动态:路由、SSL 证书、上游、插件… • 40 多个插件,覆盖:身份认证、安全、日志、可观测性… Apache APISIX 设计思路 • API 网关的数据面和控制面分离 • 通过插件机制来方便二次开发和运维 • 高可用,没有单点故障 • 安全和稳定第一:基于 Nginx 实现;mTLS 认证;敏感信息加密加盐(salt)保存 • 高性能:单核心 QPS 1.5 万,延迟低于 0.7 毫秒 • 运维友好:Prometheus,0 码力 | 11 页 | 6.56 MB | 5 月前3Apache APISIX 微服务⽹关性能架构解析
onlytiancai brileyhe 开源,开⼼心 什什么是 API ⽹网关 微服务 API ⽹网关 重复造轮⼦子 why? ⾏行行业⽼老老⼤大:⼤大多基于 Java + JS,性能差,不不⽀支持⼆二 次开发。⽐比如 Apigee、3Scale、Amazon 等。 ⾏行行业远⻅见者:多基于 OpenResty + Golang,少数开 源,⽐比如:Tyk、Kong 等,代码量量较重。 Apache center ??? Validator ??? Apache APISIX 技术选型 • 配置中⼼心 • 语⾔言或开发平台 • 数据校验 • 加分项:顶级路路由实现 Apache APISIX 技术选型 • 配置中⼼心:⾼高可⽤用、增量量订阅、历史记录 • 语⾔言或开发平台:动态、⾼高性能、⽹网关的周边资 源丰富 • 数据校验:开放标准、有⼀一定的⽣生态系统 • 学习竞对:从 析、⽐比较 Apache APISIX 技术选型 配置中⼼心 why etcd? • 集群⽀支持 • 历史+事务 • 低于毫秒的变化通知 Apache APISIX 技术选型 开发平台:Lua 或 Golang •OpenResty >= 1.15.8 •Tengine >= 2.3.2 •基于 Nginx •调⽤用动态库:C/C++,Golang 等 Apache0 码力 | 41 页 | 15.62 MB | 1 年前3金卫-Apache APISIX 借助 Service Mesh 实现统一技术栈的全流量管理
lua 易学易懂 二次开发相比 C++ 要简单许多 强大的扩展/定制化能力 配合CRD进行扩展,更灵活 更原生 不侵入Istio原有配置 降低用户迁移成本/减少冲突可 能 通过 controller 与 amesh 进行 配置推送 强大的扩展/定制化能力 APISIX 官方提供 80+ 插件 支持自定义插件,并且快速集成 支持多语言开发 golang python python java wasm ...... 满足多协议的需求 APISIX Service Mesh 上手成本低 开发及扩展相当容易 性能优(尤其是多路由场景) 生态丰富,80+ 插件开箱即用 兼容 xDS,方便迁移 自定义 CRD ,增量推送策略 支持多协议 https://github.com/api7/amesh 下一个版本发布时间 120 码力 | 34 页 | 3.50 MB | 5 月前3有了 NGINX 和 Kong,为什么还需要 Apache APISIX-王院生
⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 后端架构演变 -- 7 层处理 • 动态、性能、功能,不可兼得 • 控制⾯能⼒弱 • 技术栈不统⼀ • ⽆标准化⾼可⽤⽅案 • ⼆次开发成本 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 Nginx 和 Kong 的问题 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 • 服务⽹格 Sidecar:APISIX Mesh 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 APISIX:全流量数据⾯ • 统⼀数据⾯基础设施 • 降低开发成本 • 运维成本 • 监控、告警等周边设施⽆缝共 享 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 Q&A yuansheng@api7.ai 王院⽣0 码力 | 34 页 | 25.78 MB | 5 月前3APISEVEN 和Kong EE 的性能评测
本报告重点介绍了部署在云上的API管理平台。云让企业通过微服务快速地构建差异和创新,在⼏分钟 内就能完成API节点的克隆和扩展。与本地部署相⽐,云有良好的扩展性,能更快地进⾏服务器部署和 应⽤程序开发,且能降低计算成本的开销。 更重要的是,许多组织也依赖API和微服务来实现⾼性能和可⽤性。在本⽂中,我们将“⾼性能”定义 为每秒负载超过1000个交易且在整个API环境中最⼤延迟⼩于30毫秒。对公司⽽⾔,对性能的需求和 g是在2015年开源的,功能丰 富。Kong利⽤NGINX的底层API⽹关,并增加了开源插件⽀持、负载平衡和服务发现等功能。Kong 企业版具有扩展的功能,如管理看板、可定制的开发者⻔⼾、安全插件、metrics和7×24h的服务⽀ 持。2019年,Kong发布了⼀个完全托管的云产品,KongCloud。我们没有测试KongCloud。 Kong企业版既可0 码力 | 14 页 | 1.11 MB | 1 年前3Apache APISIX Roadmap
What we did in APISIX V2 02 • 丰富插件 • 70+ 生态丰富 • 开箱即用 • 生态丰富 • 全平台支持 • 裸金属、虚拟、容器、K8s • 全流量 • 开发者友好 • 多语言 Runner • Wasm 插件 • 全球最活跃 API 网关 • 每月一个版本 • 全球最活跃 API 网关 • 每月一个版本 • APISIX Way -> Proxy0 码力 | 26 页 | 2.68 MB | 1 年前3从Apache APISIX 来看API 网关的演进
controller • 借助 MQTT 插件作为 IoT 网关 • 借助 IdP 插件成为零信任网关 愿景:快速处理所有业务流量 微服务的演进史 1. 从单体到微服务 痛点:大量的重复开发 技术变革:容器 2. 微服务从类库到 proxy • Spring CLoud • Dubbo 痛点:语言绑定、升级难 3. 微服务从 proxy 到 sidecar • 技术变革:云原生0 码力 | 24 页 | 1.36 MB | 1 年前3Apache APISIX 在安信 PaaS 平台的应用
中间件PaaS建设 DBaaS建设 API网关建设 信创容器云建设 ~ CICD工具链 Docker gRPC框架 为什么选择Apache APISIX 1、高性能 2、可扩展性强,对开发者友好 3、云原生发展规划与安信证券技术路线符合 4、社区活跃 W r i t e h e r e S o m e t h i n g a b o u t APISIX 在安信 PaaS0 码力 | 14 页 | 621.17 KB | 1 年前3基于 Apache APISIX 的下一代微服务架构 -- 从 0 到 1:APISIX 的 Apache 之路
controller • 借助 MQTT 插件作为 IoT 网关 • 借助 IdP 插件成为零信任网关 愿景:快速处理所有业务流量 微服务的演进史 1. 从单体到微服务 痛点:大量的重复开发 技术变革:容器 2. 微服务从类库到 proxy • Spring CLoud • Dubbo 痛点:语言绑定、升级难 3. 微服务从 proxy 到 sidecar • 技术变革:云原生0 码力 | 33 页 | 1.55 MB | 1 年前3
共 10 条
- 1