當(dāng)前位置:首頁 > 公眾號精選 > 架構(gòu)師社區(qū)
[導(dǎo)讀]?今天想跟大家聊一個比較有意思的話題,就是:網(wǎng)關(guān)限流了,服務(wù)本身就能高枕無憂了嗎??我想大部分公司的架構(gòu)都是下面這樣子的,網(wǎng)關(guān)在最前面,充當(dāng)了守門員的工作。請求想要進(jìn)來,必須經(jīng)過網(wǎng)關(guān),所以在網(wǎng)關(guān)層面做流控是最合適的,沒有之一。???如果我們認(rèn)為,只要網(wǎng)關(guān)把入口的流量控制好了,下游...


?

今天想跟大家聊一個比較有意思的話題,就是:網(wǎng)關(guān)限流了,服務(wù)本身就能高枕無憂了嗎?

?

我想大部分公司的架構(gòu)都是下面這樣子的,網(wǎng)關(guān)在最前面,充當(dāng)了守門員的工作。請求想要進(jìn)來,必須經(jīng)過網(wǎng)關(guān),所以在網(wǎng)關(guān)層面做流控是最合適的,沒有之一。

?

網(wǎng)關(guān)限流了,躲在后面的服務(wù)就能高枕無憂啦?

?

?

如果我們認(rèn)為,只要網(wǎng)關(guān)把入口的流量控制好了,下游的服務(wù)就不用瞎操心了,直接躺平即可。這種想法本身沒錯,可是經(jīng)過大量的實(shí)踐,往往故事的結(jié)局卻不是你想象的那么美好。

?

首先,如果你作為某一個服務(wù)的負(fù)責(zé)人或者開發(fā)者,你的職責(zé)就是要保護(hù)這個服務(wù)不出問題。對你來說,外部任何信息任何系統(tǒng)你都不能信任。

?

大家都在對你說,網(wǎng)關(guān)已經(jīng)限流了,上游服務(wù)也限流了,到你這都是安全的,不要考慮那么多。你信我,這些人只是過過嘴癮,當(dāng)你負(fù)責(zé)的服務(wù)出問題后,他們絕對不會承認(rèn)之前說過的話。

?

在服務(wù)的劃分中,一般有三種:

?

  • 純內(nèi)部服務(wù),只對內(nèi)提供服務(wù)
  • 對外業(yè)務(wù)服務(wù),負(fù)責(zé)對外的業(yè)務(wù)處理,會調(diào)用內(nèi)服服務(wù)完成業(yè)務(wù)邏輯
  • 對外也對內(nèi),既提供對外的業(yè)務(wù)接口,也提供對內(nèi)的基礎(chǔ)接口
?

如果是純對外的服務(wù),網(wǎng)關(guān)限流了,這個服務(wù)本身沒有必要限流了,因?yàn)闆]有其他的流量進(jìn)來。

?

如果是純內(nèi)部服務(wù),肯定是自己要做一層流控的,因?yàn)槟阍谧畹讓?,你的調(diào)用方很多。

?

如果是對內(nèi)也對外的服務(wù),也要自身做一層流控,因?yàn)閷ν獾木W(wǎng)關(guān)直接攔截了,但是你還有其他的接口在對內(nèi)服務(wù),如果這個對內(nèi)的接口被一個外部調(diào)用量很大的接口在調(diào)用,那么你的請求量將急劇上升。

?

網(wǎng)關(guān)限流了,躲在后面的服務(wù)就能高枕無憂啦?

?

所以,你需要對你負(fù)責(zé)的服務(wù)類型有清醒的認(rèn)知,是否會同時對內(nèi)又對外。正所謂靠人人跑,靠墻墻倒! 只有靠自己才是最穩(wěn)妥的。在服務(wù)內(nèi)加一層限流做為救命的稻草,其他服務(wù)掛了不關(guān)你的事情,只要你負(fù)責(zé)的服務(wù)不掛就可以了。

?

這個時候你能想到前面給大家介紹的流控類型嗎?集群或者單機(jī)模式,這兩種模式結(jié)合起來用才是強(qiáng)有力的保護(hù)。網(wǎng)關(guān)層用集群限流,內(nèi)部服務(wù)單機(jī)限流做為兜底,保證不被流量沖垮。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
關(guān)閉
關(guān)閉