大型API网关(一)—— 序言

网上关于API网关的文章有很多,但是大多内容比较空洞,从事相关开发工作近两年,有一些感悟,记录下来,希望能对后来人有所帮助。

什么是API网关

计算机的概念都来源于生活,API网关类似古时候各个城池的门卫,负责对进出的人流进行控制,保证城市的安全。

API网关通常位于流量的入口,负责对进出的流量进行加工处理。当然,大到整个公司的流量,小到一个服务的入口,都可以有网关,无非规模不同,功能多少不一,但本质上都是对流量就行控制。

规模越大,涉及到的功能就越多,刚好工作中涉及到的网关规模算是比较大的,打算写成一个系列,约10篇左右,其中涉及的内容,不一定适用在每一种场景中,旨在让大家对API网关有一个全面的了解。

这个系列,打算从几个主题进行介绍,介绍之前先说问题,每个主题都旨在解决一类问题。大家不妨站在开发者的角度上想一想,如果是你,你会怎样解决这些问题。

  1. 性能
    性能,似乎对广大程序员有这天生的吸引力,对于API网关来说,显得尤其重要。如果是你,你会怎样提升网关的性能呢?
    系统的性能会受到许多方面的影响,从硬件,开发语言,程序框架,部署方式,IO密集型还是CPU密集型等等,离开使用场景谈性能都是纸上谈兵。系列的第二篇文章,我们来看看提升API网关性能的各种方法。看看当QPS达到百万级别时,系统的设计是怎样的。
  2. 成本
    不考虑成本的程序员不是好程序员。明明可以一千万搞定的事情,你却花了五千万,这就说不过去了。那么,如果是你,你会从哪些方面考虑节约成本呢?
    对一个互联网公司来说,最大的成本是研发人员,所以,最简单有效的节省成本的方式是——裁员。但是,这个方法不再我们的讨论范围内。剩下的,有可能通过技术层面解决的,无非就是带宽、存储、CPU带来的成本。系列的第三篇文章,我们来看看怎样无所不用其极的压缩这些方面的成本。
  3. 接口权限
    想象一下,你的API网关对外开放了好多个接口,有的接口是通用的,有的接口是定制的,你怎么控制哪些用户可以访问哪些接口呢?
    系列的第四篇文章,我们来看看API网关是怎样控制用户的权限的。
  4. 限流
    再进一步,如果用户有了权限,然后因为各种原因,人为的也好,bug也好,正常调用也好,总之QPS极高,高到整个系统承受不住了,然后服务挂了,如果是你,你会怎样应对这种情况呢?
    系列的第五篇文章,我们来看看API网关是怎样进行流量限制的。
  5. 监控和预警
    API网关是所有流量的入口,系统运行状况会直接影响整体业务的可用性,一挂挂一片。必须对运行中的系统内部洞若观火,不能啥都不知道。监控系统是尤为主要的,如果你是,你会怎么做呢?
    系列的第六篇文章,我们来看看API网关是怎样就行监控预警的。
  6. 紧急预案
    系统肯定会发生故障,出了问题,第一时间应该怎样处理呢?怎样做才能在最短的时间内将损失降到最低?
    系列的第七篇文章,我们来看看一些针对突发事件的紧急处理预案。
  7. 资源隔离
    API网关的用户很多,用户行为不可预测,而网关的资源是有限的。当某些用户突然发起大量的调用时,就会触发限流,从而影响所有用户。
    系列的第八篇文章,我们来看看API网关是怎样解决这个问题的。
  8. 可持续发展
    API网关对外对接众多用户,对内对接各个团队的业务,着实是个苦差事,系统架构以及代码层面,如果稍微不注意,维护的不上心,那么系统的熵将急剧增加,直到不可挽回。所以,相比技术,我认为责任心才是一个程序员最宝贵的品质。
    系列的最后一篇文章,我们一起来看看一个系统如何才能长期健康的发展,大道至简,世间所有的系统都一样,大到国家,小到一个服务,要想长期稳定,必然有一代一代人的励精图治才行。
    在这里插入图片描述
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值