API网关你掌握多少了,来个查漏补缺?

Posted AI课工场

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了API网关你掌握多少了,来个查漏补缺?相关的知识,希望对你有一定的参考价值。


API网关你掌握多少了,来个查漏补缺?

随着八月份的到来,2020年已经不知不觉过去了一大半,在疫情的逐渐受控下,全国各大中小学的学生们也逐渐的又迎来了一场假期。对于已经奔赴在职场的大学生们、准备跳槽or看机会的朋友们,今天给大家上一堂API网关知识查漏补缺,希望能帮大家斩获心仪的offer


API网关是什么?

在介绍API网关是什么之前,我们需要知道网关是什么?网关又称为协议转换器,相当于网络之间的“关卡”,用于连接网络。我们知道在没有路由器的情况下,不同网段的网络是不能进行通信的,要实现通信就需要网关,就像从一个房间走向另一个房间必须要经过一扇门一样。网关就像是连接器一样,把不同的东西连接起来了。

API网关你掌握多少了,来个查漏补缺?

API网关你掌握多少了,来个查漏补缺?


API网关能做什么?

API网关会接管所有的入口流量,将所有的请求转发给后端服务器。一个API网关最基本的功能有四个,即统一接入、协议适配、流量监控与容错、安全防护。

网关就是系统的唯一入口,进入系统的所有请求都要经过API网关,就像去上学要走到对应的教室、操场、图书馆、厕所都必须得通过校门才可以进去。这就叫做统一接入。

协议适配还是比较好理解的。在一个庞大的应用系统内部,子系统使用不同协议来进行开发通信是很正常的,但是子系统之间通信和数据传输就存在协议转化的问题了,有的子系统可能使用HTTP协议通信,有的子系统使用Dubbo协议通信,那这两个协议的数据格式不一致,二者就不能互通有无了,就像广东人说广东话,浙江人说浙江话,如果没有统一的语言(比如普通话来进行转化),那么广东人与浙江人是无法进行交流的。同样,有了API网关将不同的通信协议适配成通用协议(如json、xml),从此子系统与子系统之间的通信就再也不是问题了。虽然中国有56个民族,上百种方言,各地的人们聚集在一起使用普通话还是能进行交流。

API网关你掌握多少了,来个查漏补缺?

流量监控与容错主要指的是流量控制、服务降级。因为API网关是唯一的入口,所以当后端服务无法承载业务请求时,如果流量持续的进来就会导致有些请求无法处理,造成不好的用户体验。这时候通过API网关就可以限制流入的请求,让后端服务器免受冲击。就像全国各地的人来到北京要去参观北大校园时,因为学校的空间有限,承载不了无限的人数,保安就会通过校门拦截一部分游客,实现分流入园。服务降级就是指当应用服务出现异常时,通过API网关把用户的请求导入到其它服务或者降级提示服务暂时不可用,同时再通过服务注册中心监听存在问题的服务,一旦服务恢复再把请求恢复,就像是北大校园因为军训原因而不能对外提供参观服务时,保安就会告知游客白天无法参观,傍晚不军训时可进入校园参观。

安全防护主要是指统一的安全认证、黑白名单等技术。安全是非常重要的,所以对于应用服务器的请求都需要拥有权限,通过API网关来进行权限认证是最高效率的方式。目前系统常见的权限管理做法是用户通过登陆服务获取Token(标记/令牌),把它存在客户端,每次请求的时候把该Token放在Header里发送给服务器,API网关解析该Token,知道谁来访问,能做什么事情,从而提高系统的安全性。


API网关的成长之路

随着用户的增多、业务接入的复杂、流量的增长,API网关也在不断的成长,在每个阶段核心要求都不一样,总的来说包括三个阶段,基础阶段、快速发展阶段、平台化阶段。

在基础阶段,用户规模不大、流量不多,因此只需要建设基础能力即可,即统一接入、协议适配、服务注册,能够完成一个用户请求从前端到后台的操作。

在快速发展阶段,用户开始大量增长、业务规模也变得复杂、流量开始增多,这个时候API网关需要保障安全、稳定、性能。对于稳定,可以理解为无论什么时候都不要出现业务不可用的情况,通过对入口请求的限流、对后端服务的降级处理、将不同业务之间流量隔离、弹性伸缩动态扩容实现业务的稳定性,对于安全,可以理解为服务接入时进行鉴权处理。对于性能,可以理解为通过丰富的性能测试场景(如基准性能测试、容量性能测试、稳定性测试、异常性测试)和线上监控平台的搭建,保障服务的业务可用、访问不延迟。

在平台化阶段,用户的增长、业务规模、流量已经达到超大的量级,这时候API网关开始向开放平台发展(比如微信公众平台),需要聚焦于第三方能高效接入、开放、安全。开放平台就有点像SaaS的模式,需要有前端页面,需要支持多租户来允许多个用户使用,需要有完善的解决方案、帮助文档、支持中心、身份管理、信息维护、应用创建等。而API的开放则涉及API的生命周期管理、API接口维护更新等。同时还需要对应的运营管理能力支持,比如开发者管理、应用管理、文档管理、工单管理等。

API网关你掌握多少了,来个查漏补缺?

在本文中我们对网关、API网关、API网关发展的三个阶段进行了查漏补缺的介绍,相信只要好好“复习”,随着疫情的退却,大家也一定能收获心仪的offer~各位加油咯API网关你掌握多少了,来个查漏补缺?


API网关你掌握多少了,来个查漏补缺?

//直播预告//

(惊喜好礼直播送)
1场主题发布会 8场
专业技术座谈会

行业技术  课程内容  教学服务  就业保障  职业发展

带来颠覆认知,高薪工作势在必得!

不了解行业趋势?

不知道哪些前景专业?

不明白怎么高薪就业?

课工场团队告诉你:这都不是事儿!

资深大咖面对面对你深度解读,助你弯道超车

动动小手 扫码预约

收获丰富  感触多多

扫描下方海报二维码

马上预约课工场2020夏季课程发布会

我们在直播间等你来!

以上是关于API网关你掌握多少了,来个查漏补缺?的主要内容,如果未能解决你的问题,请参考以下文章

查漏补缺系列前端基础补充

查漏补缺系列前端基础补充

查漏补缺系列前端基础补充

查漏补缺系列前端基础补充

Java面试查漏补缺

查漏补缺——java多态