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建设 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 在安信 PaaS 平台的应用 既是使用者,也是管理者 02 front cas casbin eaas appcenter0 码力 | 14 页 | 621.17 KB | 1 年前3Apache 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 年前3APISEVEN 和Kong EE 的性能评测
7-关于GigaOm19 8-关于API720 1-摘要 本报告重点介绍了部署在云上的API管理平台。云让企业通过微服务快速地构建差异和创新,在⼏分钟 内就能完成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 实现统一技术栈的全流量管理
与基础设施整合成本高 性能损耗 资源的额外消耗 扩展难度高 理想的服务网格应该是什么样? 易于扩展 理想的服务网格 业务无感知 落地成本低 动态且增量配置 安全管控 可观测 流量精细化管理 跨集群部署 性能损耗低 资源消耗低 按需下发配置 理想的服务网格 整体使用体验上 • 学习和上手成本低 • 社区开放、活跃度高 且快速响应 理想的服务网格 控制面 • 易于上手 • 权限安全管控 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 | 6 月前3Apache APISIX 微服务⽹关性能架构解析
JS,性能差,不不⽀支持⼆二 次开发。⽐比如 Apigee、3Scale、Amazon 等。 ⾏行行业远⻅见者:多基于 OpenResty + Golang,少数开 源,⽐比如:Tyk、Kong 等,代码量量较重。 Apache APISIX 机会:轻巧 + 极致性能 + 热插件 宣布开源 CNCF ⾸首个商业⽤用户 ⽣生产⽤用户上线 捐赠 Apache 全平台⽀支持 6.6 8⽉月 ??? 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 年前3Apache APISIX Roadmap
co-founder & CTO What we did in APISIX V2 02 • 丰富插件 • 70+ 生态丰富 • 开箱即用 • 生态丰富 • 全平台支持 • 裸金属、虚拟、容器、K8s • 全流量 • 开发者友好 • 多语言 Runner • Wasm 插件 • 全球最活跃 API 网关 • 每月一个版本 • 全球最活跃 API 网关 • 每月一个版本 •0 码力 | 26 页 | 2.68 MB | 1 年前3从Apache APISIX 来看API 网关的演进
• 8 月首家付费央企 • 9 月贝壳找房上生成环境,每日处理近 3 亿流量 • 10 月进入 Apache 孵化器,国内唯一由初创公司贡献的项目 • 11 月全面支持 ARM64 平台,并推出 apisix-ingress-controller • 12 月:即将推出新一代微服务架构方案 NASA 也在使用 API 网关的传统功能 • 让 API 请求更安全、更高效的得到处理 controller • 借助 MQTT 插件作为 IoT 网关 • 借助 IdP 插件成为零信任网关 愿景:快速处理所有业务流量 微服务的演进史 1. 从单体到微服务 痛点:大量的重复开发 技术变革:容器 2. 微服务从类库到 proxy • Spring CLoud • Dubbo 痛点:语言绑定、升级难 3. 微服务从 proxy 到 sidecar • 技术变革:云原生0 码力 | 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 请求更安全、更高效的得到处理 controller • 借助 MQTT 插件作为 IoT 网关 • 借助 IdP 插件成为零信任网关 愿景:快速处理所有业务流量 微服务的演进史 1. 从单体到微服务 痛点:大量的重复开发 技术变革:容器 2. 微服务从类库到 proxy • Spring CLoud • Dubbo 痛点:语言绑定、升级难 3. 微服务从 proxy 到 sidecar • 技术变革:云原生0 码力 | 33 页 | 1.55 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 | 6 月前3
共 11 条
- 1
- 2