什么是短鏈接?長(zhǎng)連接? | 您所在的位置:網(wǎng)站首頁(yè) › 屬猴的貴人是屬啥的 › 什么是短鏈接?長(zhǎng)連接? |
什么是短鏈接?長(zhǎng)連接?
短鏈接
概念 client與server通過(guò)三次握手建立連接,client發(fā)送請(qǐng)求消息,server返回響應(yīng),一次連接就完成了。 這時(shí)候雙方任意都可以發(fā)起close作,不過(guò)一般都是client先發(fā)起close作。上述可知,短連接一般只會(huì)在 client/server間傳遞一次請(qǐng)求作。 短連接的優(yōu)缺點(diǎn) 管理起來(lái) 比較簡(jiǎn)單,存在的連接都是有用的連接,不需要額外的控制手段。 使用場(chǎng)景 通常瀏覽器訪問(wèn)服務(wù)器的時(shí)候就是短連接。 對(duì)于服務(wù)端來(lái)說(shuō),長(zhǎng)連接會(huì)耗費(fèi)服務(wù)端的資源,而且用戶用瀏覽器訪問(wèn)服務(wù)端相對(duì)而言不是很頻繁的 如果有幾十萬(wàn),上百萬(wàn)的連接,服務(wù)端的壓力會(huì)非常大,甚至?xí)罎ⅰ?/p> 所以對(duì)于并發(fā)量大,請(qǐng)求頻率低的,建議使用短連接。 長(zhǎng)連接什么是長(zhǎng)連接 client向server發(fā)起連接,server接受client連接,雙方建立連接。 Client與server完成一次讀寫(xiě)之后,它們之間的連接并不會(huì)主動(dòng)關(guān)閉,后續(xù)的讀寫(xiě)作會(huì)繼續(xù)使用這個(gè)連接。 長(zhǎng)連接的生命周期 正常情況下,一條TCP長(zhǎng)連接建立后,只要雙不提出關(guān)閉請(qǐng)求并且不出現(xiàn)異常情況,這條連接是一直存在的. 作系統(tǒng)不會(huì)自動(dòng)去關(guān)閉它,甚至經(jīng)過(guò)物理網(wǎng)絡(luò)拓?fù)涞母淖冎笕匀豢梢允褂谩?/p> 所以一條連接保持幾天、幾個(gè)月、幾年或者更長(zhǎng)時(shí)間都有可能,只要不出現(xiàn)異常情況或由用戶(應(yīng)用層)主動(dòng)關(guān)閉。 客戶端和服務(wù)單可一直使用該連接進(jìn)行數(shù)據(jù)通信。 長(zhǎng)連接的優(yōu)點(diǎn) 長(zhǎng)連接可以省去較多的TCP建立和關(guān)閉的作,減少網(wǎng)絡(luò)阻塞的影響, 當(dāng)發(fā)生錯(cuò)誤時(shí),可以在不關(guān)閉連接的情況下進(jìn)行提示, 減少CPU及內(nèi)存的使用,因?yàn)椴恍枰?jīng)常的建立及關(guān)閉連接。 長(zhǎng)連接的缺點(diǎn) 連接數(shù)過(guò)多時(shí),影響服務(wù)端的性能和并發(fā)數(shù)量。 使用場(chǎng)景 數(shù)據(jù)庫(kù)的連接就是采用TCP長(zhǎng)連接. RPC,遠(yuǎn)程服務(wù)調(diào)用,在服務(wù)器,一個(gè)服務(wù)進(jìn)程頻繁調(diào)用另一個(gè)服務(wù)進(jìn)程,可使用長(zhǎng)連接,減少連接花費(fèi)的時(shí)間。 總結(jié) 1.對(duì)于長(zhǎng)連接和短連接的使用是需要根據(jù)應(yīng)用場(chǎng)景來(lái)判斷的 2.長(zhǎng)連接并不是萬(wàn)能的,也是需要維護(hù)的, |
CopyRight 2018-2019 實(shí)驗(yàn)室設(shè)備網(wǎng) 版權(quán)所有 |