RPC(hadoop的實現(xiàn))

這里客戶端并不是“頭信息”和“請求數(shù)據(jù)”一起發(fā)發(fā)送,而是分兩次發(fā)送。
先發(fā)如下的頭信息,然后才發(fā)送請求的服務和參數(shù):
/**
* Write the connection header - this is sent when connection is established
* +----------------------------------+
* | "hrpc" 4 bytes |
* +----------------------------------+
* | Version (1 byte) |
* +----------------------------------+
* | Service Class (1 byte) |
* +----------------------------------+
* | AuthProtocol (1 byte) |
* +----------------------------------+
*/
Client:
客戶端較直接,是普通的i/o調(diào)用。Call,Connection是Client內(nèi)部類。

HadoopRpcClient.png

Serve:
服務端使用的NIO的方式。
1)Serve 在啟動(start函數(shù))的時候,構(gòu)造Listener,Responder,Handler(數(shù)組)Listener 構(gòu)造出Reader(數(shù)組)注釋:構(gòu)造數(shù)組多個為了提升處理能力。2)Serve 構(gòu)造如下幾個線程類分別處理如下對應nio事件Listener:Acceptable Reader:Readable Responder:Writable

hadoopRpcServe.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • ipc.Server 類分析 Hadoop采用了Master/Slave結(jié)構(gòu)。其中,Master通過ipc.Ser...
    Bottle丶Fish閱讀 1,012評論 1 4
  • 網(wǎng)絡通信模塊是分布式系統(tǒng)中最底層的模塊,他直接支撐了上層分布式環(huán)境下復雜的進程間通信邏輯,是所有分布式系統(tǒng)的基礎(chǔ)。...
    SmallBird_閱讀 2,359評論 0 1
  • 摘自: https://my.oschina.net/hosee/blog/711632摘要: 本文主要說明RPC...
    holy_z閱讀 1,255評論 0 7
  • 公司的系統(tǒng)都由成千上萬大大小小的服務組成,各服務部署在不同的機器上,由不同的團隊負責。 這時就會遇到兩個問題: 要...
    愛情小傻蛋閱讀 340評論 0 0
  • 前言 單個 Hdfs 集群中可能存在成百上千個 DataNode ,但默認情況下 NameNode 只有一個 , ...
    kifile閱讀 3,511評論 0 7

友情鏈接更多精彩內(nèi)容