Hadoop 遠端過程呼叫

2021-08-20 21:41:32 字數 1456 閱讀 6725

hadoop ipc類圖如下

連線"font-size: 14px;">//為了提高通訊效率,連線是可以復用的,通過connectionid來區分不同的連線

class connectionid   

//connectionheader類是客戶端和服務端tcp連線建立之後交換的第一條訊息,包括connectionid中的

"font-size: 14px;">//使用者資訊和ipc介面資訊,用於確認使用者是否有權利連線

connectionheader  

//服務端連線物件

public

class connection   

//客戶端連線

private

class connection extends thread   

call

//客戶端

private

class call   

//服務端

private

static

class call   

//客戶端和服務端通過各自的call物件傳送呼叫

客戶端還有parallelcall 用於同時傳送多個遠端ipc呼叫  

服務端處理

//處理監聽事件的執行緒

class listener extends thread   

acceptchannel.register(selector, selectionkey.op_accept);     

}  //處理accept事件

public

void run()   

}                 

}  }  

//reader執行緒,用於處理讀事件並交由handler執行緒處理

class reader implements runnable   

iteratoriter = readselector.selectedkeys().iterator();  

while (iter.hasnext())   

}  }                         

}  }  

//非同步的處理寫事件

class responder extends thread               

}  synchronized (writeselector.keys())   

}  }         

}  }  

void doasyncwrite(selectionkey key)   

}  //inhandler用於表示是handler中直接呼叫寫操作

//還是responer執行緒的非同步寫操作

void processresponse(linkedlistresponsequeue,boolean inhandler)   

void doread(selectionkey key)   

遠端過程呼叫

遠端過程呼叫 rpc remote procedure call protocol 遠端過程呼叫協議 它是一種通過網路從遠端電腦程式上請求服務,而不需要了解底層網路技術的協議。為通訊程式之間攜帶資訊資料。採用客戶端 伺服器方式 請求 響應 三種主流的實現方式 rest soap xmlrpc xml...

遠端過程呼叫 RPC

rpc是遠端過程呼叫 remote procedure call 的縮寫。就是一台伺服器上的服務通過引數傳遞的方式呼叫另一台服 務器的服務,並獲取返回結果。比如有兩台伺服器a b,a上的服務想要呼叫b上的函式或方法,由於不在同乙個記憶體空間,不能直接呼叫,需要通過網路來表達呼叫的語義和傳達呼叫的資料...

遠端過程呼叫協議

rpc remote procedure call 遠端過程呼叫,它是一種通過網路從遠端電腦程式上請求服務,而不需要了解底層網路技術的協議。rpc協議假定某些傳輸協議的存在,如tcp或udp,為通訊程式之間攜帶資訊資料。在osi網路通訊模型中,rpc跨越了傳輸層和應用層。rpc使得開發包括網路分布式...