设为首页 加入收藏

TOP

HBase1.0.0源码分析之Client启动连接流程(二)
2015-11-21 01:45:38 来源: 作者: 【 】 浏览:1
Tags:HBase1.0.0 源码 分析 Client 启动 连接 流程
yingCallerInterceptorFactory(conf)).build(); this.rpcCallerFactory = RpcRetryingCallerFactory.instantiate(conf, interceptor, this.stats); this.backoffPolicy = ClientBackoffPolicyFactory.create(conf); }ConnectionManager.nonceGenerator = new PerClientRandomNonceGenerator();//每个客户端随机的NonceGEnerator,主要是为了生成clientid
stats = ServerStatisticTracker.create(conf);创建跟踪该connection所相关的region 信息监控实例
this.asyncProcess = createAsyncProcess(this.conf);创建一个同步进程实例,该进程主要负责持续的请求流
this.interceptor = (new RetryingCallerInterceptorFactory(conf)).build();//远程服务器出现故障时,进行处理的机制
this.rpcCallerFactory = RpcRetryingCallerFactory.instantiate(conf, interceptor, this.stats);//RpcRetryingCaller创建工厂

this.backoffPolicy = ClientBackoffPolicyFactory.create(conf);//这个实际没有具体的的类实现

到此结束了下面的那个构造函数,接下来我们回过头来看看上面的构造函数的剩余部分:
同样的我们也就只是分析一些关键步骤:
this.registry = setupRegistry();//用于获取集群的基本信息例如clusterid以及region location的meta数据
this.rpcClient = RpcClientFactory.createClient(this.conf, this.clusterId); //负责IPC调用相关
this.rpcControllerFactory = RpcControllerFactory.instantiate(conf);//
至此客户端的启动结束了,这里其实主要是启动两个服务,
一个是用于request处理的AsyncProcess
一个是用于获取服务器信息的Registry
还有就是负责RPC调用的RpcClient,相关主要类图如下:

\

\

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇HBase1.0.0源码分析之请求处理流.. 下一篇分布式缓存GemFire架构介绍

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: