-->
第二課:面向服務(wù)架構(gòu)——傳輸語義的升級
正文:其實(shí)還是有一些區(qū)別的。對于網(wǎng)絡(luò)來說最終肯定還是要找到門牌號的,因?yàn)殚T牌號是你的物理地址,就是你物理上位于哪里。但是我們的網(wǎng)絡(luò)是分層的,從應(yīng)用層到傳輸層一直到底下的物理層,它每一層有不同的語義,每一層有不同的業(yè)務(wù)邏輯。
就現(xiàn)在來說,傳輸層對應(yīng)用層提供的語義,是應(yīng)用層必須知道下面找到的那個(gè)東西的門牌號在哪兒,如果這個(gè)門牌號動(dòng)了,現(xiàn)在傳輸層的語義認(rèn)為連接那個(gè)東西已經(jīng)不是原來的門牌號了,你必須重新發(fā)起所有的連接。就相當(dāng)于雖然那個(gè)人還是他自己,但是對于我們現(xiàn)在的網(wǎng)絡(luò)來說,如果他動(dòng)了,他就不是他了。
但是以服務(wù)為中心的邏輯就是說,對于傳輸層對應(yīng)用層的上層語義來說,應(yīng)用層只認(rèn)要的服務(wù)的名字,至于它在底下怎么走,把它交給網(wǎng)絡(luò),它們本身不知道這件事情,也不想知道。如果只要這個(gè)服務(wù)或者說你可以理解只要這個(gè)人還在,對于應(yīng)用層和傳輸層的語義來說它就認(rèn)為這個(gè)連接是穩(wěn)定的,沒有中斷的,一切都照常。
底下可以比如說有千變?nèi)f化各種靈活的路徑,或者你移動(dòng)之后,我重新路由,這些事情都可以把它放到網(wǎng)絡(luò)里面來做,而網(wǎng)絡(luò)來處理這個(gè)事情比在應(yīng)用層、更高的層面處理這個(gè)事情效率要高的多。
所以說雖然最終還是要找到那個(gè)東西的門牌號,但是現(xiàn)在對于應(yīng)用層來說,它已經(jīng)不需要去找那個(gè)門牌號,找門牌號的這個(gè)事情交給網(wǎng)絡(luò),它就可以變得非常的簡單,速度和效率都會變得更高,性能也會得到很大的提升。
導(dǎo)語:有人認(rèn)為,應(yīng)用層現(xiàn)在也不需要找IP地址做為門牌號,有域名做為中間層,結(jié)合DNS已經(jīng)解決剛才說的那個(gè)問題了
DNS是不能完全解決這個(gè)問題的,DNS有兩個(gè)維度的問題。首先即使使用DNS,但是其實(shí)沒有改變傳輸層和應(yīng)用層之間的以地址為身份標(biāo)識的這樣一個(gè)語義,這樣就導(dǎo)致應(yīng)用層必須來自己關(guān)心底層網(wǎng)絡(luò)的變化。而恰恰是這種應(yīng)用層必須來關(guān)心底層網(wǎng)絡(luò)的變化,才導(dǎo)致你的連接會中斷。
比如說我現(xiàn)在通過DNS查到一個(gè)百度的地址,我連到了它,那如果百度換了它的IP地址,我們先不考慮CDN的情況,那么上層應(yīng)用什么時(shí)候去進(jìn)行DNS的查詢呢,一定發(fā)現(xiàn)我的連接已經(jīng)斷了時(shí),我如果沒斷我不會發(fā)起DNS查詢的。
另外一個(gè)維度就是說,即使我們讓DNS去做這件事情,但是DNS其實(shí)是一個(gè)靜態(tài)的系統(tǒng),他不是為動(dòng)態(tài)網(wǎng)絡(luò)來提供的,不論可擴(kuò)展性還是響應(yīng)速度都不能應(yīng)對實(shí)時(shí)的動(dòng)態(tài)網(wǎng)絡(luò)的要求,比如說DNS查詢的速度要遠(yuǎn)遠(yuǎn)慢于底層網(wǎng)絡(luò)自動(dòng)重新路由的速度,以及DNS的更新速度是以分鐘、小時(shí)、天來算的,不是說你一個(gè)節(jié)點(diǎn)從一個(gè)地方移到另外一個(gè)地方,全球的DNS就會更新了,不是這樣的。
【版權(quán)歸鈦媒體所有,未經(jīng)許可不得轉(zhuǎn)載】
賬號合并
經(jīng)檢測,你是“鈦媒體”和“商業(yè)價(jià)值”的注冊用戶?,F(xiàn)在,我們對兩個(gè)產(chǎn)品因進(jìn)行整合,需要您選擇一個(gè)賬號用來登錄。無論您選擇哪個(gè)賬號,兩個(gè)賬號的原有信息都會合并在一起。對于給您造成的不便,我們深感歉意。
Oh! no
您是否確認(rèn)要?jiǎng)h除該條評論嗎?