在基於tcp的 rcp實現方式中,有如下幾種選擇:
1. 長連接:同步和異步方式。
同步方式下客戶端所有請求共用同一連接,在獲得連接后要對連接加鎖,在讀寫結束后才解鎖釋放連接,性能低下,基本很少采用,唯一優點是實現極其簡單。
異步方式下所有請求都帶有消息ID,因此可以批量發送請求,異步接收回復,所有請求和回復的消息都共享同一連接,信道得到最大化利用,因此吞吐量最大。
這個時候接收端的處理能力也要求比較高,一般都是獨立的一個(或者多個)收包線程(或者進程)防止內核緩沖區被填滿影響網絡吞吐量。缺點是實現復雜,需要異步狀態機,需要增加負載均衡和連接健康度檢測機制,等等。
2. 短連接:同步方式。
優點是實現簡單,每個請求單獨建立一個連接,用完即關。缺點是大量並發下會出現大量TIMEWAIT狀態,信道處於過載狀態,無法創建新連接。
3. 連接池:同步方式
每個請求單獨占用一個連接,使用完以后把連接放回池中,給下一個請求使用。缺點還是網絡利用率不高,因為在等待對端回復的時候,連接是空閑的。
---------------------
作者:weixin_41805011
來源:CSDN
原文:https://blog.csdn.net/weixin_41805011/article/details/80452245
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!