hbase之RPC详解
Hbase的RPC主要由HBaseRPC、RpcEngine、HBaseClient、HBaseServer、VersionedProtocol 5个概念组成。 1、HBaseRPC是hbase RPC的实现类,核心方法: 1)、RpcEngine getProtocolEngine():返回RpcEngine对象 2)、<T extends VersionedProtocol> T waitForProxy():调用RpcEngine的getProxy()方法,返回一个远程代理对象,比如:第一次访问HRegionServer时需要执行该方法,设置代理后,会缓存该对象到HConnectionImplementation中。 2、RpcEngine接口 ,其实现类:WritableRpcEngine,核心方法: 1)、VersionedProtocol getProxy():返回代理对象,HRegionServer和HMaster均是VersionedProtocol的实现类,即返回的对象可代理执行HRegionServer和HMaster的方法; 2)、Object[] call():调用程序接口,最终是经过HBaseClient的内部类Connection通过socket方式完成; 3)、RpcServer getServer()