基于RPC框架ZK与Dubbo核心源码专题.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

RPC框架源码深度解析专题

面试题暨重要知识点总结

Zookeeper

【Q-01】一个zk客户端到底连接的是zk列表中的哪台Server,或者说客户端对于zk的选择

算法是怎样的?请谈一下你的看法。

【RA】客户端在获取到zk列表后,首先将zk列表打散,然后再进行轮询方式获取到一个由

主机名与port构成的地址,然后再根据主机名获取到其对应的所有ip,再对这些ip进行

shuffle,获取shuffle后的第一个地址,进行连接尝试,直到连接成功,或不满足重试策略。

【Q-02】(追问)为什么要打散?请谈一下你的看法。

【RA】若不进行打散操作,则一定都是按照原来设置好的顺序进行的连接尝试,都是从第

一台开始连接,而一般情况下都会连接成功。这样的话每一个客户端连接的将都是第一台

Server,不利于负载均衡。

【Q-03】(再追问,看来是打破砂锅了)zk客户端指定的要连接的zk集群地址,会被shuffle

几次?请谈一下你的看法。

【RA】zk客户端指定的要连接的zk集群地址可能会被shuffle两次。第一次是对给出地址的

直接shuffle,shuffle后会通过轮询方式获取到一个地址。如果这个地址是以主机名hostName

方式给出的,则会再根据hostName获取到其对应的所有IP,然后会对这些IP再进行一次

shuffle,shuffle后会通过轮询方式获取到一个地址,这个地址就是客户端真正要连接的zk

地址。

【Q-04】第一个客户端将zk列表打散后,在打散的列表上采取轮询方式尝试连接。那么,

第二个客户端又来连接zk集群,其是面打散的基础上采用轮询方式选择Server,还是

又重新打散后再进行轮询连接尝试?

【RA】首先要清楚,这个打散操作发生在客户端,所以是每个客户端都会进行打散,然后

再进行连接尝试。

【Q-05】zk客户端着会话超时管理,请谈一下你对此的认识。

【RA】zk客户端着会话超时管理,主要管理的超时有两类:读超时与连接超时。当客

户端长时间没有收到服务端的请求响应或心跳响应时,会发生读超时;当客户端发出连接请

求后,长时间没有收到服务端的连接成功ACK,此时发生连接超时。无论哪类超时,都会抛

出SessionTimeoutException异常。但若是读超时,则会发出Ping连接请求,Ping失败则会

关闭连接;若是连接超时,则会再次连接,直到重连策略不满足,关闭连接。

【Q-06】zk是CP的,zk集群在数据同步或leader时是不对外服务的,那岂不是用

户体验非常不好?请谈一下你对此的看法。

【RA】对于zk的CP,其实对于客户端来说,一般是感知不到的。因为当客户端连接zk集

Specialtopiconin-depthanalysisofthe

coresourcecodeoftheRPCframework

Interviewquestionsands

ummaryofimportantknowledge

points

Zookeeper

[Q-01]Whichserverinthezklistdoesazkclientconnectto,orwhatistheclient’szkselection

algorithm?Pleaseshareyouropinion.

[RA]Afterobtainingthezklist,theclientfirstbreaksupthezklist,thenperformspollingtoobtainan

addressconsistingofahost

文档评论(0)

daluobu + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档