![云原生时代,API 网关为何如此重要?](http://img.jiangsulong.com/221019/144G254Y-8.png)
文章插图
开发者不必去学习 Lua 和 C++,就可以使用自己熟悉的编程语言在下一代 API 网关上进行开发,这让基础组件的开发变得更加简单 。开源和易于二次开发,是下一代的 API 网关最重要的特点,它把更多的选择权留给了开发者自身,同时,开发者也可以更加放心的在多云、混合云的环境下使用 API 网关,不用担心被云供应商锁定 。
![云原生时代,API 网关为何如此重要?](http://img.jiangsulong.com/221019/144G26232-9.png)
文章插图
基于双十一的 API 网关流量处理场景
这里,我们用一个具体的例子来解释下现代 API 网关的作用 。
在双十一时,电商都会有各种各样的商品促销活动,这段时间的 API 请求量是平时的几十倍 。让我们先来看下如果没有 API 网关将会是怎样的技术架构:
![云原生时代,API 网关为何如此重要?](http://img.jiangsulong.com/221019/144G25957-10.png)
文章插图
可以看到,在 Order 和 Payment 服务中,身份认证和日志记录功能是重复的 。一个电商的服务,一般会有数千个不同的服务组成,这时候就会有大量的代码和功能是重复开发的 。
下面是增加了 API 网关之后的架构图:
![云原生时代,API 网关为何如此重要?](http://img.jiangsulong.com/221019/144G25957-10.png)
文章插图
从上图可以看到,我们在 API 网关层统一了公共的服务,后端服务只需要关心自身业务,为弹性伸缩提供了更多可能 。
当促销开始时,客户端大量 API 请求涌入 API 网关的时候,后端服务需要进行快速的弹性伸缩,为了保障关键业务不受突发流量的影响,我们需要在 API 网关上识别恶意爬虫并实现限流限速、服务降级和熔断 。此时,我们可以暂时关闭部分服务,比如商品评价、快递查询等 。
但是库存信息、购买功能、支付功能等核心业务是绝对不能出现故障的,因此我们需要通过 K8s 来管理容器服务,再生成更多的服务副本来保证它的正常运行 。此时 API 网关需要将客户端的 API 请求路由到新生成的副本服务,并且自动移除出现故障的服务,如下图所示 。
![云原生时代,API 网关为何如此重要?](http://img.jiangsulong.com/221019/144G2H49-12.png)
文章插图
![云原生时代,API 网关为何如此重要?](http://img.jiangsulong.com/221019/144G21W2-13.png)
文章插图
总结
API 网关并不是一个新的基础中间件,而是在产品快速迭代和技术架构的变迁中,变得越来越重要 。而下一代云原生 API 网关的出现则解决了企业用户在集群管理,动态,生态,可观测性以及安全性等方面的痛点 。
API 网关不仅可以处理 API 的流量,也可以来处理 Kubernetes Ingress 和服务网格的流量,进一步降低开发者的学习成本,帮助企业更好的统一管理流量 。
推荐阅读
- 云南旅行团购物点可以不买吗,跟团云南游会强制购物吗-
- 带货|云昊透露许妈退休会开直播,大家纷纷期待其带货赚米,规划获认可
- 秦霄贤还在德云社嘛,秦霄贤多会儿进的德云社-
- 我们的少年时代二上映时间,我们的少年时代第二季什么时候播出-
- 柳下惠坐怀不乱,柳下惠坐怀不乱是什么意思-
- 张九龄|德云社张九龄发文,在线挑战师哥烧饼,粉丝:说完后悔了吧
- 姜昆|姜昆:由于年龄和时代的差距,我有些力不从心了。网友:退下来吧
- 云顶之弈最新版本最强阵容搭配攻略 云顶之弈好用阵容推荐
- 名将赵云之死! 常山赵子龙怎么死的
- 岳云鹏|岳云鹏在微博上提问:你们的孩子都听话吗?学习都好吗?你们辅导作业都困难吗?