在twemproxy的發(fā)送和接收流程剖析中,我們已經(jīng)完全弄清楚twemproxy如何將客戶端以及服務(wù)端發(fā)來的包切分成msg,獲得一個獨立的msg后twemproxy應(yīng)該如何處理?這是本文這次需要重點介紹的內(nèi)容。

twemproxy的主干流程

萬碼學(xué)堂,電腦培訓(xùn),計算機培訓(xùn),Java培訓(xùn),JavaEE開發(fā)培訓(xùn),青島軟件培訓(xùn),軟件工程師培訓(xùn)

 

圖1 twemproxy的主干流程

如圖1所示,twemproxy主要通過3個隊列進行模塊間的數(shù)據(jù)交互:客戶端連接conn的發(fā)送隊列conn->omsg_q,服務(wù)端連接s_conn的輸入隊列s_conn->imsg_q,服務(wù)端連接s_conn的發(fā)送隊列s_conn->omsg_q以及conn->omsg_q里的msg的對應(yīng)回復(fù)peer。

  • 客戶層接收模塊將所有需要回復(fù)的msg處理后分別寫入到客戶端conn連接的發(fā)送隊列conn->omsg_q以及服務(wù)端連接s_conn的輸入隊列s_conn->imsg_q。

  • 服務(wù)層發(fā)送模塊從服務(wù)端連接s_c

    網(wǎng)友評論