![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
API网关
文章平均质量分 83
道不虚行只在人
悟来时见江海古,苍崖行遍谒玄门。向道偶题人间世,一笛一剑一昆仑。
展开
-
大型API网关(九)—— 可持续发展
系列的最后一篇了,不说技术了,说人。只要是在发展的业务,其系统就会随着业务的发展而不断的迭代。代码也会随着每一次迭代发生变化。热力学第三定律有云:系统的熵在没有干预的情况下是不断增大的,趋于混沌。软件系统也是如此。在一次一次的迭代中,代码越来越臃肿,几年之后,就没办法维护,只能大规模重构了。对于一个优秀的程序员来说,在其维护系统期间,是可以做到让系统熵减的。做到这一点需要程序员具备两点特质:技术水平技术好的程序员和技术不好的程序员写出来的代码是有很大差异的。而想持续提升技术,只有一条路原创 2021-05-18 01:00:13 · 211 阅读 · 0 评论 -
大型API网关(八)—— 超卖和资源隔离
先举个超卖的例子,解释一下什么是超卖。小高去某通办了宽带,100M的,很兴奋,想着看视频肯定不卡了。结果到了晚上,刷视频时,又卡成狗。第二天白天就又变好了,这是咋回事呢?聪明的小高想了一下,大概是这个原因:...原创 2021-05-17 23:45:00 · 887 阅读 · 0 评论 -
大型API网关(七)—— 紧急预案
上一篇,《大型API网关(六)——监控和预警》中,我们讲了如何发现问题,这一篇讲发现问题之后如何进行处理。紧急预案线上出现问题之后,第一时间进行处理的原则都应该是:如何将影响降到最低。线上都鬼哭狼嚎。山崩地裂了,这边研发还在查日志,研究代码。这肯定不行。这一篇讲的是紧急预案,而不是bug修复,关键时刻能力挽狂澜的那种。通常来说,行之有效的紧急措施有三种:回滚、切流、降级。回滚当我们发现问题时,先看最近有没有上线,上线时间和故障时间是否能对的上。如果能对上,大概率是上线引起的。那么,第一要务就.原创 2021-05-16 16:58:56 · 1226 阅读 · 0 评论 -
大型API网关(六)—— 监控和预警
本来计划监控和预警写一篇的,想了想,这两部分对API网关来说实在是太重要了,于是决定分来来,各占一篇。什么是监控略监控为什么对网关如此重要?因为网关的流量太大了对上百万QPS的系统来说,即使故障只持续1分钟,其造成的影响也是巨大的,网关一旦发生故障,都是大事件。所以,必须有完善的监控,才能第一时间发现并处理问题,将损失降到最低。网关是问题排查的起点网关是最接近用户的系统,当用户有问题需要排查时,网关是第一个要查的。而且,网关作为流量入口,后面是各个业务线的接口,毫不夸张的说,网关的研发,至.原创 2021-05-16 15:44:52 · 2483 阅读 · 6 评论 -
大型API网关(五)—— 限流
什么是流量控制通俗的说,流量控制就是控制用户请求的策略,主要包括:权限、限流、流量调度。权限上一篇已经讲过了,这一篇讲限流,下一篇讲流量调度。限流是指限制用户调用的频率(QPS/QPM)或者次数。为什么要有流量限制为了收费流量限制,站在用户或者运营的角度看,最直观能感受到的作用是 —— 收费。。。各大主流开放平台的对外API,一般都有一些免费的额度,可以供个人测试用,一旦想大规模调用,就需要付费购买更大的额度(频率、次数),根据调用次数或者频率进行收费。一旦超过拥有的额度,就会被限制调用。贴一原创 2021-05-11 23:55:11 · 746 阅读 · 0 评论 -
大型API网关(四)—— 接口权限
想象一下,我们的API网关对外开放了好多个接口,有的接口是通用的,大家都可以访问,有的接口是定制的,只对特定用户开放,比如付费用户、合作伙伴等,这就涉及到接口权限控制的问题。权限功能的示意图如下:接口权限是一个网关系统最基本的需求,实现方式也有很多。我们这里只讨论最简单的一种。ACL这个英文缩写,大家都不陌生,全拼是Access Control Lists 访问控制列表。举个例子,我们有service1,service2,service3三个接口,有userA, userB, userC三个用户.原创 2021-03-05 17:24:58 · 3085 阅读 · 0 评论 -
大型API网关(三)—— 成本
大型API网关(三)—— 成本成本就是钱,钱是不得不考虑的头等问题。按照我的理解,网关系统的成本主要体现在3个方面:带宽机器人下面详细说一下。1. 带宽成本这一点和其他系统不太一样,其他系统基本都在内网,不太会涉及到带宽成本。但是API网关是内网和公网连接的地方,是所有流量的出入口,带宽成本巨大。像一些直播类、视频类的业务,带宽成本占总成本的比例是相当高的。说了半天,怎么节约带宽成本呢?节约带宽,说到底,就是减少数据传输量。可以从下面几点着手:1.1 压缩数据数据压缩是很常见的.原创 2021-01-20 18:08:01 · 502 阅读 · 1 评论 -
大型API网关(二)—— 性能
网关作为流量的入口,需要处理极大量的并发请求,对一个大型网关而言,峰值QPS往往会达到百万级别,因此,对网关而言,性能是必须重点考虑的一个因素。当前主流的服务架构,一般都是在配置比较高的硬件服务器上划分出很多容器,根据请求量的大小,进行横向扩容/缩容。一个粗略的网关系统的架构,大致是下面这个样子的:这一篇,只讲API网关这一层的性能。硬件本身的性能是一定的,因为硬件本身的资源是一定的,这里和资源相关的性能是指机器的性能,比如磁盘每秒能转多少圈,CPU每秒能进行多少次运算,网卡每秒能传输多少数据,等原创 2021-01-07 17:43:45 · 691 阅读 · 0 评论 -
大型API网关(一)—— 序言
网上关于API网关的文章有很多,但是大多内容比较空洞,从事相关开发工作近两年,有一些感悟,记录下来,希望能对后来人有所帮助。什么是API网关计算机的概念都来源于生活,API网关类似古时候各个城池的门卫,负责对进出的人流进行控制,保证城市的安全。API网关通常位于流量的入口,负责对进出的流量进行加工处理。当然,大到整个公司的流量,小到一个服务的入口,都可以有网关,无非规模不同,功能多少不一,但本质上都是对流量就行控制。规模越大,涉及到的功能就越多,刚好工作中涉及到的网关规模算是比较大的,打算写成一个系原创 2021-01-07 17:23:26 · 387 阅读 · 0 评论