Apache APISIX 在安信 PaaS 平台的应用
Apache APISIX 在安信 PaaS 平台的应用 卢勇辉 安信证券网关产品负责人 01 网关选型 02 APISIX 在安信 PaaS 平台的应用 03 一些思考 04 下一步 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 S 启动应用上云战略 服务网格建设 中间件PaaS规划 DBaaS规划 安信PaaS平台规划 API网关规划 2 0 2 1 2 0 2 2 安信PaaS平台建设 中间件PaaS建设 DBaaS建设 PaaS 平台的应用 既是使用者,也是管理者 02 front cas casbin eaas appcenter upms IAM skywalking prometheus kafka-logger ... APISIX在安信PaaS平台的应用 1、路由转发 2、认证 3、鉴权 4、链路 5、监控 6、日志 CAS 与 casbin 2、用户状态支持本地存储0 码力 | 14 页 | 621.17 KB | 1 年前3APISEVEN 和Kong EE 的性能评测
000rps时的1,000条路由的对⽐14 5-结论15 6-附录16 7-关于GigaOm19 8-关于API720 1-摘要 本报告重点介绍了部署在云上的API管理平台。云让企业通过微服务快速地构建差异和创新,在⼏分钟 内就能完成API节点的克隆和扩展。与本地部署相⽐,云有良好的扩展性,能更快地进⾏服务器部署和 应⽤程序开发,且能降低计算成本的开销。 更重要 API管理解决⽅案不能成为性能瓶颈。许多公司都在寻找跨多个API端点的负载均衡和⾼交易量吞吐的 解决⽅案。如果业务每秒有1000个交易,⼀个⽉内就会有30亿次API调⽤。拥有⼤流量的公司通常每 ⽉API调⽤次数超过100亿次。因此,在选择API管理解决⽅案时,性能是⼀个关键因素。 在本⽂中,我们展⽰了使⽤2个全⽣命周期API管理平台完成的性能测试结果:API7和Kong企业版 (KongEE)。 差异很⼤。此外,IT部⻔需要对API进⾏精细化控制,限制速率、调⽤次数,制定策略和⽤⼾⾝份识 别来确保⾼可⽤性,防⽌滥⽤和安全漏洞。公开API为许多合作伙伴打开了⼤⻔,他们可以在不了解 底层技术的情况下共同创建和扩展核⼼平台。 根据企业需求和底层架构,云上管理API有很⼤差异。所以为了便于讨论,我们把云上的API管理划 分成两种部署⽅式: 混合云-混合云API管理⽅案允许企业部署、配置在⾃⼰选的云上。例如,可以选择亚⻢逊云(AWS0 码力 | 14 页 | 1.11 MB | 1 年前3API7 ⽹关技术⽩⽪书
⾝,与业务⽆关的⼤部分功能交给 API7内置插件即可实现,如⾝份验证、性能分析等。 1.2技术亮点 图1-2API7技术亮点 云原⽣ 1. API7是⼀个云原⽣⽹关,与平台⽆关,没有供应商锁定的⻛险。它⽀持裸⾦属、虚拟机、 Kubernetes、OpenShift、ARM64等。此外,API7也可轻松与其它组件对接,如SkyWalking、 Promethe ✖ Websocket ✔ ✔ ✔ ✔ ✔ Dubbo ✔ ✖ ✖ ✖ ✖ ⾃定义四层、七层协议 ✔ ✖ ✖ ✖ ✖ 平台⽀持 裸⾦属 ✔ ✔ ✔ ✔ ✔ 虚拟机 ✔ ✔ ✔ ✔ ✔ Kubernetes ✔ ✔ ✔ ✔ ✔ ARM64 ✔ ✔ ✔ ✔ ✔ 鲲鹏(通过华为云认证) ✖ ✖ 集群管理 ⽀持多集群的配置和管理 ✔ ✖ ✖ ✖ ✖ ⽀持不同集群间权限隔离 ✔ ✖ ✖ ✖ ✖ 全球化部署,跨⽹关集群协作 ✔ ✖ ✖ ✖ ✖ 拓扑⽹络下⾃动选择最优路径 ✔ ✖ ✖ ✖ ✖ 多层⽹络 ⾃定义多层⽹络下插件 ✔ ✖ ✖0 码力 | 19 页 | 1.12 MB | 1 年前3金卫-Apache APISIX 借助 Service Mesh 实现统一技术栈的全流量管理
业务无感知 落地成本低 动态且增量配置 安全管控 可观测 流量精细化管理 跨集群部署 性能损耗低 资源消耗低 按需下发配置 理想的服务网格 整体使用体验上 • 学习和上手成本低 • 社区开放、活跃度高 且快速响应 理想的服务网格 控制面 • 易于上手 • 权限安全管控 • 配置方式被大众接受 理想的服务网格 数据面 • 支持多种协议,甚至是自定义协议 • 性能损耗低 • 资源占用在可控范围 • 是当前最为流行的服务网格方案 社区活跃 几乎所有主流云厂商都对 istio 有支持 基于 istio 做商业支持的公司也很多,比如 tetrate, solo APISIX作为Istio数据面 使用动态库的方式加载到APISIX 与APISIX生命周期一致 转换 xDS 协议 资源消耗可控 APISIX原生支持 增加了xds discovery 配合CRD进行扩展 Apache 插件 支持自定义插件,并且快速集成 支持多语言开发 golang python java wasm ...... 满足多协议的需求 APISIX Service Mesh 上手成本低 开发及扩展相当容易 性能优(尤其是多路由场景) 生态丰富,80+ 插件开箱即用 兼容 xDS,方便迁移 自定义 CRD ,增量推送策略 支持多协议 https://github0 码力 | 34 页 | 3.50 MB | 5 月前3Apache APISIX 微服务⽹关性能架构解析
通过写书开始交朋友 《OpenResty 最佳实践》 今年年 3 ⽉月和温铭创办深圳⽀支流科 技,专注微服务的开源技术公司。 Apache APISIX PPMC 成员。 公司刚起步,希望⼤大家⽀支持。 开源,开⼼心 开源,开⼼心 理理想主义者,想活的有理理想 Yuansheng Wang Wen Ming xiwangzishi ZhouJing JinChao Shuai coolsoul JS,性能差,不不⽀支持⼆二 次开发。⽐比如 Apigee、3Scale、Amazon 等。 ⾏行行业远⻅见者:多基于 OpenResty + Golang,少数开 源,⽐比如:Tyk、Kong 等,代码量量较重。 Apache APISIX 机会:轻巧 + 极致性能 + 热插件 宣布开源 CNCF ⾸首个商业⽤用户 ⽣生产⽤用户上线 捐赠 Apache 全平台⽀支持 6.6 8⽉月 极致的动态转发性能 • 平均请求延迟: 740 us • 插件热加载/卸载 • 允许插件挂载任何阶段 • 路路由⾃自身也是插件 Apache APISIX ⾃自豪 • ⽀支持 ARM64 • 完整⽀支持 IPv6 • 物联⽹网 MQTT 协议 • 基于 OpenResty / Tengine • 极致性能 jsonschema • ASF 第⼀一个 API ⽹网关项⽬目0 码力 | 41 页 | 15.62 MB | 1 年前3从Apache APISIX 来看API 网关的演进
全景图 • 8 月首家付费央企 • 9 月贝壳找房上生成环境,每日处理近 3 亿流量 • 10 月进入 Apache 孵化器,国内唯一由初创公司贡献的项目 • 11 月全面支持 ARM64 平台,并推出 apisix-ingress-controller • 12 月:即将推出新一代微服务架构方案 NASA 也在使用 API 网关的传统功能 • 让 API 请求更安全、更高效的得到处理 gRPC)、websocket • 身份认证:OpenID Relying Party、OP(Auth0、okta…) • Serverless • 高性能、无状态、随意扩容和缩容 • 支持多云、混合云 • 容器优先,Kubernetes 友好 Apache APISIX 能做什么? • 处理 L4、L7 层流量:HTTP、HTTPS、TCP、UDP、MQTT、Dubbo、gRPC… 多次的流量转发,不适合对性能要求高的场景 • 不如 Nginx 稳定 下一代微服务会是怎样? • 分久必合,抛弃 sidecar • 走向中心节点或者集群的模式 • 也就是下一代网关:全动态、全协议支持、高性能、云原生友好 我希望 Apache APISIX 可以担此重任! Q&A0 码力 | 24 页 | 1.36 MB | 1 年前3基于 Apache APISIX 的下一代微服务架构 -- 从 0 到 1:APISIX 的 Apache 之路
全景图 • 8 月首家付费央企 • 9 月贝壳找房上生成环境,每日处理近 3 亿流量 • 10 月进入 Apache 孵化器,国内唯一由初创公司贡献的项目 • 11 月全面支持 ARM64 平台,并推出 apisix-ingress-controller • 12 月:即将推出新一代微服务架构方案 NASA 也在使用 API 网关的传统功能 • 让 API 请求更安全、更高效的得到处理 gRPC)、websocket • 身份认证:OpenID Relying Party、OP(Auth0、okta…) • Serverless • 高性能、无状态、随意扩容和缩容 • 支持多云、混合云 • 容器优先,Kubernetes 友好 Apache APISIX 能做什么? • 处理 L4、L7 层流量:HTTP、HTTPS、TCP、UDP、MQTT、Dubbo、gRPC… 多次的流量转发,不适合对性能要求高的场景 • 不如 Nginx 稳定 下一代微服务会是怎样? • 分久必合,抛弃 sidecar • 走向中心节点或者集群的模式 • 也就是下一代网关:全动态、全协议支持、高性能、云原生友好 我希望 Apache APISIX 可以担此重任! Q&A0 码力 | 33 页 | 1.55 MB | 1 年前3Apache APISIX Roadmap
Practices》 • API7.ai co-founder & CTO What we did in APISIX V2 02 • 丰富插件 • 70+ 生态丰富 • 开箱即用 • 生态丰富 • 全平台支持 • 裸金属、虚拟、容器、K8s • 全流量 • 开发者友好 • 多语言 Runner • Wasm 插件 • 全球最活跃 API 网关 • 每月一个版本 • 全球最活跃 API 网关0 码力 | 26 页 | 2.68 MB | 1 年前303-基于Apache APISIX的全流量API网关-温铭
代理和协议转换(REST <=> gRPC) • 身份认证:OpenID Relying Party、OP(Auth0、okta…) • 高性能、无状态、随意扩容和缩容 • 动态配置,不用 reload 服务 • 支持多云、混合云 • 容器优先,Kubernetes 友好 在GANTER报告上有很多顶级厂商做API网关 • 2015 年,IBM 收购 StrongLoop • 2015 年,谷歌 6.25 IP 判断而导致 cpu 资源跑满;kong 的最 新版本也换用了 Apache APISIX 的 IP 匹配库; • Apache APISIX 的路由匹配,接受 nginx 的所有变量作为条件,并且支持自定义函数;其他网关都是 内置的几个条件; • Apache APISIX 使用 etcd 作为配置中心,没有单点,任意宕掉一台机 器,网关集群还能正常运行。其他基于 mysql,postgres 的网关都会有单点 定期轮询数据库,一般需要 5 秒才能获取到最新配置 • 只有 Apache APISIX 开放了自定义负载均衡的挂载点,其他网关都不支持 独创的插件编排/低代码 API 网关 Plugin Orchestration • Kong:支持 Go 编写的插件 • Envoy:支持 Lua、WASM 编写的 filter • Apache APISIX:为什么要“写”插件?ops、PM 也可以直接创造一个插件0 码力 | 11 页 | 6.56 MB | 5 月前3Apache APISIX 在金山办公的开发和落地实践
mlua(https://github.com/khvzak/mlua) • high-level lua rust binding • 相对安全 • 支持 module 模式,将 rust 构建为 shared object 供 lua 直接使用 • 支持 rust 高级语义 基于 Apache APISIX 破局 基于 Apache APISIX 破局 在 Luajit 上引入动态 lib 的性能考虑 的人因问题就不要引入另一个。rust 和它们 是 ABI 兼容的,它们能做的能用的 rust 也可以。 • WASM/WASI? rust 能够轻松地构建 WASM target,Apache APISIX 支持使用 WASM 做 plugin, 但本身不能轻易地使用 WASM 做扩展。另外 WASM 不是免费的,在极端情况下性 能可能只有 native 性能的50%。 感谢聆听 THANKS0 码力 | 27 页 | 4.88 MB | 1 年前3
共 10 条
- 1