HBase源碼分析之org.apache.hadoop.hbase.ipc包

來源:互聯網
上載者:User

 

HMasterInterface:client和Master之間的RPC介面HRegionInterface: client和RegionServer之間的RPC介面HMasterRegionInterface: regionServer和Master之間的RPC介面以上三個類是用戶端獲得的服務端邏輯實現的代理類stubHConnection: zookeeper 叢集(HBase)的串連,可以通過掃描META表對region進行定位(緩衝),擷取到Server的stub,擷取表schema,表狀態等資訊HConnectionImplementation:HConnection的實作類別。HConnectionManager:HConnection的建立管理類,一般一個用戶端共用一個HConnectionorg.apache.hadoop.hbase.client.HConnectionManager. HConnectionManager 的兩個方法getMaster()和getHRegionConnection() 來獲得stub,在這兩個方法中是通過調用HBaseRPC類來獲得的(其中會先從緩衝中擷取)。     server = (HRegionInterface) HBaseRPC.waitForProxy(                  serverInterfaceClass, HRegionInterface.VERSION,                  address, this.conf,                  this.maxRPCAttempts, this.rpcTimeout, this.rpcTimeout); HBaseRPC:RPC的操作類RPCEngine:RPC 引擎HBaseClient:串連操作的用戶端類,預設情況下,一個用戶端到一個server只有一個串連    Client到Server端的串連是長串連,在用戶端封裝有call對象(Invocation),Call對象執行個體被放入了另一個內部類Connection的一個表calls中,是id到Call執行個體的映射;用戶端發送資料後,等待返回結果的通知;有一個線程不斷地從服務端接收返回的結果,返回的結果中包含id,這樣就可以通知對應的阻塞的用戶端線程,用戶端線程繼續運行,獲得結果。

 未完,待完善和補充。。。。。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.