
Dubbo
专注Java面试整理
Java
展开
-
Dubbo客户端原理
服务请求的基本原理1、client一个线程调用远程接口,生成一个唯一的ID,Dubbo是使用AtomicLong从0开始累计数字。2、将打包的方法调用信息和处理结果的回调对象callback,全部封装在一起,组成一个对象。3、向全局ConcurrentHashMap里面put(ID, object)。4、将ID和打包的方法调用信息封装成一对象connRequest,使用IoSess...原创 2019-01-14 18:17:30 · 354 阅读 · 0 评论 -
Dubbo通讯协议
1、Dubbo通讯协议第一、dubbo(默认)Dubbo 缺省协议采用单一长连接和 NIO 异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。反之,Dubbo 缺省协议不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低。缺省协议,使用基于 netty 和 hessian 3.2.1 的 tbremoting 交互。连接个数:单连...原创 2019-01-14 18:20:24 · 5852 阅读 · 0 评论 -
Dubbo注册中心
1)Multicast 注册中心Multicast 注册中心不需要启动任何中心节点,只要广播地址一样,就可以互相发现。提供方启动时广播自己的地址 消费方启动时广播订阅请求 提供方收到订阅请求时,单播自己的地址给订阅者,如果设置了 unicast=false,则广播给订阅者 消费方收到提供方地址时,连接该地址进行 RPC 调用。组播受网络结构限制,只适合小规模应用或开发阶段使用。组播...原创 2019-01-14 18:21:46 · 275 阅读 · 0 评论 -
Dubbo集群容错
启动多个相同的服务提供者,则为集群1、Failover Cluster(默认)调用dubbo方法时,失败自动切换,当出现失败,重试同一服务下的其它服务器 。通常用于读操作,但重试会带来更长延迟。可通过 retries="2"来设置重试次数(不含第一次)。重试次数配置如下:<dubbo:service retries="2" /><dubbo:reference...原创 2019-01-14 18:22:43 · 476 阅读 · 0 评论 -
几次面试中被问到关于Dubbo的问题
1、注册中心集群都挂掉,发布者和订阅者之间还能通信吗? 可以的,启动dubbo时,消费者会从zk拉取注册的生产者的地址接口等数据,缓存在本地。每次调用时,按照本地存储的地址进行调用,但是,如果服务提供则宕机,消费者变无法知道。那么集群中,任意一台宕掉后,默认会自动切换到另一台 。集群下服务提供者无状态,任一台 宕机后,不影响使用 。服务提供者全部宕机,服务消费者会无法使用,并按集群容错规则,重...原创 2019-01-15 16:54:53 · 2013 阅读 · 0 评论