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、流程图见dubbo.io。
12、读操作建议使用Failover失败自动切换,默认重试两次其他服务器。写操作建议使用Failfast快速失败,发一次调用失败就立即报错。
13、使用过程中的问题可以百度
14、dubbox是当当网基于dubbo上做了一些扩展,如加了服务可restful调用,更新了开源组件等。
15、别的还有spring的spring cloud,facebook的thrift,twitter的finagle等。
Zookeeper面试集锦
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等。