【zookeeper面試】
ZooKeeper是一個分佈式的,開放源碼的分佈式應用程序協調服務,是Google的Chubby一個開源的實現,它是集群的管理者,監視著集群中各個節點的狀態根據節點提交的反饋進行下一步合理操作。最終,將簡單易用的接口和性能高效、功能穩定的系統提供給用戶。
1、zookeeper是一個開源的分佈式協調服務框架。
2、應用場景:分佈式通知/協調、負載均衡、配置中心、分佈式鎖、分佈式隊列等。
3、使用ZAB協議。
4、Paxos算法。
5、選舉算法及流程。
6、節點類型:持久節點、持久順序節點、臨時節點、臨時順序節點。
7、不是永久的,一次性的,需要藉助第三方工具實現重複註冊。
8、部署模式:單機模式、偽集群模式、集群模式。
9、集群角色:leader、foller、observer。
10、集群規則為2N+1臺,N>0,即3臺。
11、集群需要一半以上的機器可用,所以,3臺掛掉1臺還能工作,2臺不能。
12、3.5版本開始支持動態擴容。
13、java客戶端:zk自帶的zkclient及Apache開源的Curator。
14、chubby是google的,完全實現paxos算法,不開源。zookeeper是chubby的開源實現,使用zab協議,paxos算法的變種。
15、常用命令:ls get set create delete等。
【Dubbo面試題】
Spring Eureka 從開源轉變為閉源,Consul 正在崛起,而Dubbo又開始重新更新。目前市場上仍有不少公司使用dubbo我們也需要繼續學習。
1、默認也推薦使用netty框架,還有mina。
2、默認是阻塞的,可以異步調用,沒有返回值的可以這麼做。
3、推薦使用zookeeper註冊中心,還有redis等不推薦。
4、默認使用Hessian序列化,還有Duddo、FastJson、Java自帶序列化。
5、服務失效踢出基於zookeeper的臨時節點原理。
6、採用多版本開發,不影響舊版本。
7、可以結合zipkin實現分佈式服務追蹤。
8、核心配置有 dubbo:service/ dubbo:reference/ dubbo:protocol/ dubbo:registry/ dubbo:application/ dubbo:provider/ dubbo:consumer/ dubbo:method/
9、默認使用dubbo協議。
10、可以直連,修改配置即可,也可以通過telnet直接某個服務。
11、讀操作建議使用Failover失敗自動切換,默認重試兩次其他服務器。寫操作建議使用Failfast快速失敗,發一次調用失敗就立即報錯。
12、dubbox是噹噹網基於dubbo上做了一些擴展,如加了服務可restful調用,更新了開源組件等。
16、別的還有spring的spring cloud,facebook的thrift,twitter的finagle等。
由於文章篇幅原因只寫了一部分,本人這邊專門整理了一套對應的Java面經pdf文檔複習資料,含全面的zookeeper面試題,還有其他各類知識點的整理,特別適合一些即將面試或準備跳槽的Java開發者查缺補漏,需要獲取這套文檔資料的讀者朋友們可以關注小編,後臺私信關鍵字“面試資料”獲取這套Java面經pdf文檔資料。
覺得此文不錯的大佬們可以幫忙轉發分享一下,希望能幫助到更多正在為面試做準備的碼友們,感謝!!!!
閱讀更多 程序媛拾玖 的文章