【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等。

关注公众号,加入360linker官方社区。分享IT圈最新动态,社员可免费获取视频教程。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐