亚洲日本欧美日韩高观看,性高湖久久久久久久久,亚洲av成人噜噜无码网站,亚洲欧美日韩国产一区二区动图,亚洲欧美日韩国产精品一区二区


學(xué)AI,好工作 就找北大青鳥
關(guān)注小青 聽課做題,輕松學(xué)習(xí)
周一至周日
4000-9696-28

API網(wǎng)關(guān)你掌握多少了,來個(gè)查漏補(bǔ)缺?

來源:北大青鳥總部 2023年03月13日 13:45

摘要: API網(wǎng)關(guān)就是把所有的請求入口都匯聚成了一個(gè)地址,對于前端開發(fā)來說,只需要向一個(gè)URL發(fā)起請求,后續(xù)的請求處理全交由這個(gè)URL去管理分配。

對于已經(jīng)奔赴在職場的大學(xué)生們、準(zhǔn)備跳槽or看機(jī)會的朋友們,今天給大家上一堂API網(wǎng)關(guān)知識的查漏補(bǔ)缺課,希望能幫大家斬獲心儀的offer~


API網(wǎng)關(guān)是什么?

在介紹API網(wǎng)關(guān)是什么之前,我們需要知道網(wǎng)關(guān)是什么?網(wǎng)關(guān)又稱為協(xié)議轉(zhuǎn)換器,相當(dāng)于網(wǎng)絡(luò)之間的“關(guān)卡”,用于連接網(wǎng)絡(luò)。我們知道在沒有路由器的情況下,不同網(wǎng)段的網(wǎng)絡(luò)是不能進(jìn)行通信的,要實(shí)現(xiàn)通信就需要網(wǎng)關(guān),就像從一個(gè)房間走向另一個(gè)房間必須要經(jīng)過一扇門一樣。網(wǎng)關(guān)就像是連接器一樣,把不同的東西連接起來了。

隨著互聯(lián)網(wǎng)的興起,出現(xiàn)了復(fù)雜多變的應(yīng)用系統(tǒng),應(yīng)用系統(tǒng)與應(yīng)用系統(tǒng)之間需要連接起來使得自己更加強(qiáng)大。例如:微信開發(fā)平臺就會把自己的能力作為開發(fā)平臺對外開放,企業(yè)利用微信公眾號的微信開發(fā)平臺二次開發(fā)就可以提供更加豐富的功能,在微信公眾號就可以接收告警系統(tǒng)的信息等。應(yīng)用系統(tǒng)內(nèi)部的功能模塊與功能模塊之間需要連接起來使得應(yīng)用的管理更加便捷。

應(yīng)用系統(tǒng)與應(yīng)用系統(tǒng)之間的能力、數(shù)據(jù)對外開放的模式就是openAPI,通過API網(wǎng)關(guān)可以統(tǒng)一管理客戶應(yīng)用的接入、API權(quán)限的管理、調(diào)用次數(shù)管理等。應(yīng)用內(nèi)部功能模塊與功能模塊之間的能力就是微服務(wù)API網(wǎng)關(guān),大家都知道隨著微服務(wù)架構(gòu)的流行,企業(yè)將服務(wù)拆分的更加細(xì)化,像淘寶這樣的業(yè)務(wù)包含幾千個(gè)微服務(wù),前端用戶的一個(gè)請求可能涉及到多個(gè)微服務(wù)模塊的調(diào)用,如果通過在調(diào)用的URL里寫明調(diào)用的后端API地址,程序猿們估計(jì)是要瘋了。每上線一個(gè)新服務(wù),需要申請域名、配置Nginx,由不同的運(yùn)維人員去維護(hù),運(yùn)維們估計(jì)也是要瘋了。



而API網(wǎng)關(guān)就是把所有的請求入口都匯聚成了一個(gè)地址,對于前端開發(fā)來說,只需要向一個(gè)URL發(fā)起請求,后續(xù)的請求處理全交由這個(gè)URL去管理分配。



API網(wǎng)關(guān)能做什么?

API網(wǎng)關(guān)會接管所有的入口流量,將所有的請求轉(zhuǎn)發(fā)給后端服務(wù)器。一個(gè)API網(wǎng)關(guān)最基本的功能有四個(gè),即統(tǒng)一接入、協(xié)議適配、流量監(jiān)控與容錯(cuò)、安全防護(hù)。

網(wǎng)關(guān)就是系統(tǒng)的唯一入口,進(jìn)入系統(tǒng)的所有請求都要經(jīng)過API網(wǎng)關(guān),就像去上學(xué)要走到對應(yīng)的教室、操場、圖書館、廁所都必須得通過校門才可以進(jìn)去。這就叫做統(tǒng)一接入。

協(xié)議適配還是比較好理解的。在一個(gè)龐大的應(yīng)用系統(tǒng)內(nèi)部,子系統(tǒng)使用不同協(xié)議來進(jìn)行開發(fā)通信是很正常的,但是子系統(tǒng)之間通信和數(shù)據(jù)傳輸就存在協(xié)議轉(zhuǎn)化的問題了,有的子系統(tǒng)可能使用HTTP協(xié)議通信,有的子系統(tǒng)使用Dubbo協(xié)議通信,那這兩個(gè)協(xié)議的數(shù)據(jù)格式不一致,二者就不能互通有無了,就像廣東人說廣東話,浙江人說浙江話,如果沒有統(tǒng)一的語言(比如普通話來進(jìn)行轉(zhuǎn)化),那么廣東人與浙江人是無法進(jìn)行交流的。同樣,有了API網(wǎng)關(guān)將不同的通信協(xié)議適配成通用協(xié)議(如json、xml),從此子系統(tǒng)與子系統(tǒng)之間的通信就再也不是問題了。雖然中國有56個(gè)民族,上百種方言,各地的人們聚集在一起使用普通話還是能進(jìn)行交流。



流量監(jiān)控與容錯(cuò)主要指的是流量控制、服務(wù)降級。因?yàn)锳PI網(wǎng)關(guān)是唯一的入口,所以當(dāng)后端服務(wù)無法承載業(yè)務(wù)請求時(shí),如果流量持續(xù)的進(jìn)來就會導(dǎo)致有些請求無法處理,造成不好的用戶體驗(yàn)。這時(shí)候通過API網(wǎng)關(guān)就可以限制流入的請求,讓后端服務(wù)器免受沖擊。就像全國各地的人來到北京要去參觀北大校園時(shí),因?yàn)閷W(xué)校的空間有限,承載不了無限的人數(shù),保安就會通過校門攔截一部分游客,實(shí)現(xiàn)分流入園。服務(wù)降級就是指當(dāng)應(yīng)用服務(wù)出現(xiàn)異常時(shí),通過API網(wǎng)關(guān)把用戶的請求導(dǎo)入到其它服務(wù)或者降級提示服務(wù)暫時(shí)不可用,同時(shí)再通過服務(wù)注冊中心監(jiān)聽存在問題的服務(wù),一旦服務(wù)恢復(fù)再把請求恢復(fù),就像是北大校園因?yàn)檐娪?xùn)原因而不能對外提供參觀服務(wù)時(shí),保安就會告知游客白天無法參觀,傍晚不軍訓(xùn)時(shí)可進(jìn)入校園參觀。

安全防護(hù)主要是指統(tǒng)一的安全認(rèn)證、黑白名單等技術(shù)。安全是非常重要的,所以對于應(yīng)用服務(wù)器的請求都需要擁有權(quán)限,通過API網(wǎng)關(guān)來進(jìn)行權(quán)限認(rèn)證是最高效率的方式。目前系統(tǒng)常見的權(quán)限管理做法是用戶通過登陸服務(wù)獲取Token(標(biāo)記/令牌),把它存在客戶端,每次請求的時(shí)候把該Token放在Header里發(fā)送給服務(wù)器,API網(wǎng)關(guān)解析該Token,知道誰來訪問,能做什么事情,從而提高系統(tǒng)的安全性。


API網(wǎng)關(guān)的成長之路

隨著用戶的增多、業(yè)務(wù)接入的復(fù)雜、流量的增長,API網(wǎng)關(guān)也在不斷的成長,在每個(gè)階段核心要求都不一樣,總的來說包括三個(gè)階段,基礎(chǔ)階段、快速發(fā)展階段、平臺化階段。

在基礎(chǔ)階段,用戶規(guī)模不大、流量不多,因此只需要建設(shè)基礎(chǔ)能力即可,即統(tǒng)一接入、協(xié)議適配、服務(wù)注冊,能夠完成一個(gè)用戶請求從前端到后臺的操作。

在快速發(fā)展階段,用戶開始大量增長、業(yè)務(wù)規(guī)模也變得復(fù)雜、流量開始增多,這個(gè)時(shí)候API網(wǎng)關(guān)需要保障安全、穩(wěn)定、性能。對于穩(wěn)定,可以理解為無論什么時(shí)候都不要出現(xiàn)業(yè)務(wù)不可用的情況,通過對入口請求的限流、對后端服務(wù)的降級處理、將不同業(yè)務(wù)之間流量隔離、彈性伸縮動態(tài)擴(kuò)容實(shí)現(xiàn)業(yè)務(wù)的穩(wěn)定性,對于安全,可以理解為服務(wù)接入時(shí)進(jìn)行鑒權(quán)處理。對于性能,可以理解為通過豐富的性能測試場景(如基準(zhǔn)性能測試、容量性能測試、穩(wěn)定性測試、異常性測試)和線上監(jiān)控平臺的搭建,保障服務(wù)的業(yè)務(wù)可用、訪問不延遲。

在平臺化階段,用戶的增長、業(yè)務(wù)規(guī)模、流量已經(jīng)達(dá)到超大的量級,這時(shí)候API網(wǎng)關(guān)開始向開放平臺發(fā)展(比如微信公眾平臺),需要聚焦于第三方能高效接入、開放、安全。開放平臺就有點(diǎn)像SaaS的模式,需要有前端頁面,需要支持多租戶來允許多個(gè)用戶使用,需要有完善的解決方案、幫助文檔、支持中心、身份管理、信息維護(hù)、應(yīng)用創(chuàng)建等。而API的開放則涉及API的生命周期管理、API接口維護(hù)更新等。同時(shí)還需要對應(yīng)的運(yùn)營管理能力支持,比如開發(fā)者管理、應(yīng)用管理、文檔管理、工單管理等。



在本文中我們對網(wǎng)關(guān)、API網(wǎng)關(guān)、API網(wǎng)關(guān)發(fā)展的三個(gè)階段進(jìn)行了查漏補(bǔ)缺的介紹,相信只要好好“復(fù)習(xí)”,大家也一定能收獲心儀的offer~各位加油咯


報(bào)名優(yōu)惠
免費(fèi)試聽
課程資料
官方微信
返回頂部
培訓(xùn)課程 熱門話題 站內(nèi)鏈接