API7 ⽹关技术⽩⽪书
的,包含了API⽹关、ManagerAPI与Dashboard控制⾯板3个组件。 API⽹关作为微服务架构中重要组件,是流量的核⼼出⼊⼝,⽤于统⼀处理和业务相关的请求,可有 效解决海量请求、恶意访问等问题,以保障业务安全性与稳定性。 图1-1API7架构图 上图为API7产品中控制平⾯(简称CP)与数据平⾯(简称DP)的架构⽰意图,并包含了3个部分: 验证、安全防护、流量控制、分析监控、请求/响应 转换等常⻅业务需求;若内置插件⽆法满⾜需求,我们也⽀持使⽤Lua、Java、Go、Python语⾔⾃ 定义插件,可作⽤于请求进⼊、上游响应各个阶段。 ManagerAPI 2. ⽤于管理API⽹关,通过访问其暴露的RESTfulAPI接⼝以实现对路由、上游、证书、全局插件、消 费者等资源的管理。 控制⾯板 3. 为了简 为了简化⽹关管理,管理员可以通过Dashboard控制⾯板以可视化形式操作⽹关,⽀持监控分析、⽇ 志审计、多租⼾管理、多集群切换、多⼯作分区等能⼒。 1.1技术架构 数据平⾯ 1. 数据平⾯⽤于接收并处理调⽤⽅请求,使⽤Lua与Nginx动态控制请求流量。当请求进⼊时,将根据 预设路由规则进⾏匹配,匹配到的请求将被⽹关转发⾄对应上游服务。在此过程中,⽹关有能⼒根据 预设规则中0 码力 | 19 页 | 1.12 MB | 1 年前3金卫-Apache APISIX 借助 Service Mesh 实现统一技术栈的全流量管理
社区开放、活跃度高 且快速响应 理想的服务网格 控制面 • 易于上手 • 权限安全管控 • 配置方式被大众接受 理想的服务网格 数据面 • 支持多种协议,甚至是自定义协议 • 性能损耗低 • 资源占用在可控范围 • 启动速度快 • 方便定位问题 • 扩展能力强 APISIX 在 Service Mesh 上的尝试 控制面的抉择 控制面 - 拥抱 Istio Istio 是当前最为流行的服务网格方案 与APISIX生命周期一致 转换 xDS 协议 资源消耗可控 APISIX原生支持 增加了xds discovery 配合CRD进行扩展 Apache APISIX 高性能云原生网关 数据面和控制面分离 强大的扩展能力 丰富的生态集成 Apache APISIX的应用案例 https://apisix.apache.org/zh/blog/tags/case-studies/ 覆盖Istio各类场景/配置 降低用户迁移成本 Apache APISIX Ingress 一种Kubernetes Ingress controller实现 Kubernetes集群南北向流量网关 控制面和数据面分离 https://github.com/apache/apisix-ingress-controller 总结 服务网格是未来 正在螺旋上升的状态 APISIX 正朝着理想中的 Service0 码力 | 34 页 | 3.50 MB | 6 月前3有了 NGINX 和 Kong,为什么还需要 Apache APISIX-王院生
第 四 期 · ⼴ 州 站 后端架构演变史 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 后端架构演变 -- 7 层处理 • 动态、性能、功能,不可兼得 • 控制⾯能⼒弱 • 技术栈不统⼀ • ⽆标准化⾼可⽤⽅案 • ⼆次开发成本 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 Nginx 和 Kong 的问题 云 原 ⽣ e t u p 第 四 期 · ⼴ 州 站 Nginx 问题 • 低活跃度的社区 • 社区不友好:提交代码困难 • 静态配置 + reload • 路由太弱 • gRPC 周边弱 • ⽆统⼀管理控制⾯ 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 Kong 问题 • 架构选型:Nginx + PostgreSQL • 云原⽣ API ⽹关 • 代码臃肿 • 区 M e e t u p 第 四 期 · ⼴ 州 站 NGINX + Kong 的问题 • NGINX -> LB • Kong -> API Gateway • 针对不同应⽤场景 • CP 控制⾯ • NGINX 没有 • Kong + PostgreSQL 数据库是单点 + 云 原 ⽣ 社 区 M e e t u p 第 四 期 · ⼴ 州 站 Apache APISIX 当前总结0 码力 | 34 页 | 25.78 MB | 6 月前3APISEVEN 和Kong EE 的性能评测
范围,从移动技术和智能设备到物联⽹,因为企业可以在任何设备上共享数据。 由于API的激增,公司需要管理内外部所依赖的众多服务。API在协议、⽅法、授权/认证和使⽤⽅⾯ 差异很⼤。此外,IT部⻔需要对API进⾏精细化控制,限制速率、调⽤次数,制定策略和⽤⼾⾝份识 别来确保⾼可⽤性,防⽌滥⽤和安全漏洞。公开API为许多合作伙伴打开了⼤⻔,他们可以在不了解 底层技术的情况下共同创建和扩展核⼼平台。 根据企业需 ⽹络,能在操作系统层⾯调整环境。这种⽅法的优点是能在企业内部、私有云、公共云或三者混合的 情况下部署。 公有云-完全托管的API管理解决⽅案是指开箱即⽤的服务产品。部署通常⼜快⼜⽅便,但缺乏精细 配置和控制的能⼒。通常情况下,底层架构是模糊的,⽤⼾不知道内部的计算能⼒。与"⾃建"的⼀个 主要区别是,完全托管的解决⽅案通常要固定在⼀个特定的公有云上,如AWS、Azure或Google。在 本 测试结果记录在报告的第四节。 测试环境 单节点 名称 数量 EC2 攻击节点 1 c4.4xlarge API⽹关数据平⾯ 1 c4.2xlarge API⽹关控制平⾯+存储: Kong:PostgreSQL|API7:etcd 1 c4.2xlarge 上游服务器 1 c5n.2xlarge 环境清单 名称 值0 码力 | 14 页 | 1.11 MB | 1 年前303-基于Apache APISIX的全流量API网关-温铭
形成新的云原生时代。云原生是未来五到十年一个 非常大的一个技术的一个颠覆, 云原生重写了传统的一些企业的技术架构, 例如云原生中的K8S颠覆了传 统操作系统, 所有的"主机"(node上的容器)由k8s来控制和编排, 非常适用于公有云、私有云、混合云等 各种环境。云原生体系的特点之一就是由各种开源项目组成, 不同于以往的商业闭源项目, 缓解了收费贵 等问题, 加速了技术落地。新的时代中每个公司的技术都是非常重要的组成部分 Apache 顶级项目 • 全动态:路由、SSL 证书、上游、插件… • 40 多个插件,覆盖:身份认证、安全、日志、可观测性… Apache APISIX 设计思路 • API 网关的数据面和控制面分离 • 通过插件机制来方便二次开发和运维 • 高可用,没有单点故障 • 安全和稳定第一:基于 Nginx 实现;mTLS 认证;敏感信息加密加盐(salt)保存 • 高性能:单核心 QPS 1.5 的传统功能和领地 • 开源项目百花齐放:BFE、MOSN Apache APISIX 全流量通吃计划 • 以 Nginx 的网络库为基础,抛弃 Nginx 的路由匹配、静态配置和 C 模块 • 增加独立的控制平面(CP),调度所有数据平面(DP),不局限于 APISIX • 增加 AI 平面(AP),接入层本身没有价值,分析流动的数据并反哺业务,才有价值 • 低代码:整个过程不希望增加学习成本和使用成本0 码力 | 11 页 | 6.56 MB | 6 月前3从Apache APISIX 来看API 网关的演进
Service Mesh 的? • 下一代微服务架构是什么? Apache APISIX 是什么? • 云原生微服务 API 网关 • 基于 Nginx 和 etcd 实现 • 集成了控制面和数据面 • 提供灵活的插件机制 • 动态上游、动态路由、插件热加载 快速的成长 • 6 月 6 号开源 • 7 月被纳入 CNCF 全景图 • 8 月首家付费央企 • 9 的痛点:路由、上游、证书等不能动态 4. 从 sidecar 到 Service Mesh • 痛点:不通用、抽象层次不够 • Service Mesh 想做为基础设施下沉 • Istio + Envoy:控制面和数据面 Service Mesh 不是银弹 • 每个微服务都要带 sidecar • 多次的流量转发,不适合对性能要求高的场景 • 不如 Nginx 稳定 下一代微服务会是怎样?0 码力 | 24 页 | 1.36 MB | 1 年前3基于 Apache APISIX 的下一代微服务架构 -- 从 0 到 1:APISIX 的 Apache 之路
Service Mesh 是银弹吗? • 下一代微服务架构是什么? Apache APISIX 是什么? • 云原生微服务 API 网关 • 基于 Nginx 和 etcd 实现 • 集成了控制面和数据面 • 提供灵活的插件机制 • 动态上游、动态路由、插件热加载 快速的成长 • 6 月 6 号开源 • 7 月被纳入 CNCF 全景图 • 8 月首家付费央企 • 9 的痛点:路由、上游、证书等不能动态 4. 从 sidecar 到 Service Mesh • 痛点:不通用、抽象层次不够 • Service Mesh 想做为基础设施下沉 • Istio + Envoy:控制面和数据面 Service Mesh 不是银弹 • 每个微服务都要带 sidecar • 多次的流量转发,不适合对性能要求高的场景 • 不如 Nginx 稳定 下一代微服务会是怎样?0 码力 | 33 页 | 1.55 MB | 1 年前3Apache APISIX 在安信 PaaS 平台的应用
3、云原生环境下的问题 下一步 04 共享集群、API市场、请求数据分析... 资源共享、工作分区隔离 中台系统的公共接口,比如日志平台、监控平台、告警平台等的对外接口 接口权限统一管理、流量控制 调用量、异常响应、延迟 Top N... 1、共享集群建设 2、API 市场 3、请求数据分析 4、APISIX-Ingress、APISIX+Istio 感谢聆听 THANKS0 码力 | 14 页 | 621.17 KB | 1 年前3
共 8 条
- 1