分享好友 最新动态首页 最新动态分类 切换频道
企业级API网关,金蝶是如何架构的?
2024-12-26 05:25

在40岁老架构师 尼恩的读者交流群(50+)中,很多小伙伴拿到一线互联网企业如阿里、网易、有赞、希音、百度、滴滴的面试资格。

企业级API网关,金蝶是如何架构的?

最近,尼恩指导一个小伙伴简历,写了一个《高并发网关项目,此项目帮这个小伙拿到 字节/阿里/微博/汽车之家 面邀, 所以说,这是一个牛逼的项目。

为了帮助大家拿到更多面试机会,拿到更多大厂offer。

尼恩决定:给大家出一章视频介绍这个项目的架构和实操,《33章:10Wqps 高并发 Netty网关架构与实操》,预计月底发布。然后,提供一对一的简历指导,让你简历金光闪闪、脱胎换骨。

前面梳理了

  • 《日均数十亿访问,个推API网关如何架构?》
  • 《工业级Netty网关,京东是如何架构的?》
  • 《2亿用户,B站API网关如何架构?》
  • 《100万级连接,石墨文档WebSocket网关如何架构?》
  • 《单体120万连接,小爱网关如何架构?》
  • 《亿级长连接,淘宝接入层网关的架构设计》
  • 《100万级连接,爱奇艺WebSocket网关如何架构》
  • 《日200亿次调用,喜马拉雅网关的架构设计》
  • 《千万级连接,知乎如何架构长连接网关?》
  • 《日流量200亿,携程网关的架构设计》

除了以上的10个案例,这里,尼恩又找到一个漂亮的生产级案例:《企业级API网关,金蝶是如何架构的》。

这些案例,并不是尼恩的原创。这些案例,仅仅是尼恩在《33章:10Wqps 高并发 Netty网关架构与实操》备课的过程中,在互联网查找资料的时候,收集起来的,供大家学习和交流使用。

最新《尼恩 架构笔记》《尼恩高并发三部曲》《尼恩Java面试宝典》的PDF,请到公号【技术自由圈】获取

作者:金蝶云社区shawyen

许多开发者可能已经编写了许多 API 接口,但未必了解或接触过API网关的功能与作用。

在大多数情况下,我们的 API 都是“裸奔”在外,在高流量,高并发等场景下,可能会轻易导致服务异常。在这种情况下网关就应运而生,为我们的系统提供保护

注意:请点击图像以查看清晰的视图

API 网关是一种服务器,作为应用程序编程接口 (API) 的入口点,用于接收和处理来自外部应用程序的请求,并提供适当的响应。可以将其视为一个管理 API 访问的中间件,在请求和响应之间进行转换、路由、安全检查和其他处理。

如果将 API 网关比喻为地铁的进站口,那么它可以更好地理解其重要作用。就像地铁的进站口一样,API 网关是所有流量进入系统的入口点,需要进行安全检查和身份验证,以确保只有授权的用户和应用程序可以访问 API。

当系统中的流量超过 API 的承受能力时,API 网关可以执行限流操作,以确保系统的稳定性和可靠性。这可以通过减少同时连接的数量或限制请求的速率来实现。API 网关还可以执行其他任务,如日志记录、监控和分析,以便更好地了解应用程序的使用情况和性能。

因此,API 网关对于保障应用程序的平稳运行和安全稳定性至关重要。它充当着整个系统的流量大门,管理着所有 API 访问,确保只有经过授权的请求才能进入系统,并提供适当的响应。

网关作为一个如此重要作用的产品,基本上各大互联网公司都会有网关这个中间件,金蝶也不例外。

在苍穹云基础平台部中,有一个名为**KCGW(Kingdee-Cloud-API-Gateway)**的网关组件,它是一款全动态、高性能的自研企业级 API 网关,提供了基础的反向代理、负载均衡、动态路由、服务限流、服务熔断、身份认证、可观测性等功能。

注意:请点击图像以查看清晰的视图

KCGW 是基于 Golang+etcd 实现的云原生网关,采用数据面与控制面分离的架构,控制面下发规则,数据面处理规则。

注意:请点击图像以查看清晰的视图

在 KCGW 中,一切都是动态的。

配置、路由规则、插件等都是以毫秒级热更新热加载至内存的,无需重启服务就可以持续更新配置和插件。

KCGW 还引入了 RadixTree 压缩前缀树来作为高性能路由的保障,大家看看路由性能压测数据就知道它有多强悍了。

场景QPS时延(微秒)路径全部匹配31177681.73前缀匹配30149691.99动态参数匹配30544713.86

路由性能压测数据1

路由性能压测数据2

下面我们将简要说明如何使用 KCGW,作为服务的流量保护伞。

假设我们作为 API 发布者,场景是API发布者如何将API发布到网关

新建服务分组

API 分组可以理解为同一业务 API 的集合,API 开发者以 API 分组为单位,管理分组内的所有 API。

新建服务分组

新建API并发布

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,应用将自身的服务能力封装成 API,并通过 API 网关开放给用户调用。

创建完对应的 API 分组后,我们需要定义 API 的请求、后端信息,并设置对应的认证、流量控制等策略。

创建API的方式有两种

1)可以通过在界面上定义并创建API

2)也支持通过swagger来批量导入。

本次我们通过前一种方式来创建API。

新建应用

一个应用(APP)可以定义 API 的调用者身份。一个 API 可以被多个应用授权,同样,多个 API 也可以被同一个应用授权。

我们可以把**“应用”理解为API的消费者**,创建完成后,就可以进行 API 的授权调用测试了

其他功能

作为一款企业级网关,KCGW 不仅支持上述功能,还提供

  • 环境管理
  • 多租户
  • 多区域
  • API 分组管理
  • API 的授权订阅
  • Swagger 接口的导入导出
  • 配额管理
  • 限流熔断
  • 可观测性
  • 调用链等

最后,我们再提供一下API的申请和使用流程

  • 租户内调用

  • 跨租户调用

租户内调用流程如下

注意:请点击图像以查看清晰的视图

跨租户调用流程如下

注意:请点击图像以查看清晰的视图

架构之路,充满了坎坷。

架构和高级开发不一样,架构问题是open/开放式的,架构问题是没有标准答案的。

正由于这样,很多小伙伴,尽管耗费很多精力,耗费很多金钱,但是,遗憾的是一生都没有完成架构升级

所以,在架构升级/转型过程中,确实找不到有效的方案,可以来找40岁老架构尼恩求助

前段时间一个小伙伴,他是跨专业来做Java,现在面临转架构的难题,但是经过尼恩几轮指导,顺利拿到了Java架构师+大数据架构师offer 。所以,如果遇到职业不顺,找老架构师帮忙一下,就顺利多了。

  • 《NIO圣经:一次穿透NIO、Selector、Epoll底层原理》
  • 《Docker圣经:大白话说Docker底层原理,6W字实现Docker自由》
  • 《K8S学习圣经:大白话说K8S底层原理,14W字实现K8S自由》
  • 《SpringCloud Alibaba 学习圣经,10万字实现SpringCloud 自由》
  • 《大数据HBase学习圣经:一本书实现HBase学习自由》
  • 《大数据Flink学习圣经:一本书实现大数据Flink自由》
  • 《响应式圣经:10W字,实现Spring响应式编程自由》
  • 《Go学习圣经:Go语言实现高并发CRUD业务开发》

……完整版尼恩技术圣经PDF集群,请找尼恩领取

最新文章
移动硬盘删除的文件夹怎么恢复?这几招,真应该提早知道的
移动硬盘删除的文件夹怎么恢复?移动硬盘作为便携式存储设备,广泛应用于我们的工作、学习和生活中。但是,在使用过程中,不小心删除了重要文件夹的情况也时有发生。为了找回丢失误删的文件夹,接下来,我们会为你介绍一些实用的恢复方法,
盖世小鸡GameHub:手机变身PC游戏神器!
在数字娱乐飞速发展的今天,游戏行业逐渐突破了传统的设备限制,玩家的选择也愈加多样化。最近,国内知名模拟器品牌盖世小鸡宣布推出一款名为GameHub的PC模拟器应用,标志着手机游戏体验的一个重大突破。据悉,该应用预计将在2024年春节前
网络推广的方法有哪些?这几个方法效果好!
网络推广的方法有哪些?这几个方法效果好!网络推广的方法有哪些?这几个方法效果好!网络推广是当今企业竞争中的重要手段之一,它能帮助企业快速扩大知名度,提升品牌影响力。本文将介绍几种常见的网络推广方法,并分析这几个方法的效果。
微信小程序用户破9亿,月活超8亿领域曝光!
微信小程序用户规模持续扩大,活跃度显著提升。最新统计数据显示,直至今年十月,微信小程序的累计用户数已突破9.49亿大关。这一数字不仅彰显了微信小程序在用户群体中的广泛影响力,也反映出其日益增长的受欢迎程度。在用户行为方面,微信
绝了,2024 最新百度网盘/阿里云盘/夸克网盘/迅雷云盘网盘资源搜索神器,全网资源任你搜...
今天分享几个2024最新阿里云盘/百度网盘/夸克网盘/迅雷云盘资源搜索神器网站和app,全网资源任你搜,无需注册使用,关键还免费,网站和app地址在公众号后台对话框回复 网盘第1个混合盘,一个搜索网站规则引
正在阅读:翻新机旧芯换新壳 360优化大师一键验真翻新机旧芯换新壳 360优化大师一键验真
  随着双十一电商热潮的临近,各大电商渠道、3C卖场均掀起了一番智能机购机潮,面对此般热潮,一些占据价格优势的水货及翻新机产品也就此浑水摸鱼,对于一些不懂行的消费者而言,就很容易陷入商家的陷阱之中。  往往购机后被曝出各种质
高测股份
高测股份(688556)业绩预告公告日期2024-02-27报告期2023-12-31类型预增业绩预告摘要预计2023年1-12月归属于上市公司股东的净利润为:1461450211.57元,与上年同期相比变动幅度:85.32%。业绩预告内容预计2023年1-12月归属于上市公司股东的
word一键生成ppt 分页_如何将word快速生成PPT
许多人的制作方法或许都是这样的: 第一步:新建一个空白的PPT文件 第二步:把word文档中的内容一点一点的复制在PPT文件中 第三步:对PPT文件排版如果是你,你也会是这样操作的吗? 实际上,完
谷歌搜索引擎优化(SEO)入门指南
随着互联网的快速发展,搜索引擎优化(SEO)已成为众多企业和个人网站不可或缺的一部分。SEO能够帮助您的网站在搜索引擎结果页(SERP)中获得更高的排名,从而增加曝光率和流量,提高销售和品牌知名度。在本文中,我们将向您介绍SEO的基本
关键词排名优化哪家?选择合适的SEO公司助你赢得流量与市场
不同的行业、不同的企业在关键词优化方面的需求各不相同,因此,选择SEO公司时,是否能够提供定制化服务是一个重要的考量标准。优秀的SEO公司会根据企业的实际情况,分析其市场定位、目标客户群体、竞争对手以及产品特点,从而提出量身定制
相关文章
推荐文章
发表评论
0评