随笔分类 -  dubbo

摘要:通过spi扩展加载的时候,都是通过extensionloader来得到extension的,比如获得一个exchanger: 那么就是先拿到自己的extensionloader,然后利用这个loder去拿到extent-name对应的具体的扩展实例。 对于每一个extensionloader来说,除 阅读全文
posted @ 2019-01-06 15:54 notlate 阅读(1719) 评论(0) 推荐(0)
摘要:在url里面指定某个参数方法的第几个参数是一个callback,也就是说这个实参是一个callback,虽然消费者把这个callback实例传给了提供者,但是提供者实际本地没有这个callback实例,提供者只能继续远程调用消费者这个callback拿到结果。 比如消费者和提供者都在url里面指定  阅读全文
posted @ 2019-01-06 14:07 notlate 阅读(1476) 评论(0) 推荐(0)
摘要:ExchangeClient主要有两种实现: HeaderExchangeClient和LazyConnectExchangeClient,前者是正常使用的对于后者如果我们在url指定使用的话,那么refer一个service的时候,不会建立server的transport层面的connect,而是 阅读全文
posted @ 2019-01-06 13:48 notlate 阅读(1387) 评论(0) 推荐(0)
摘要:public boolean isAllowable() { long now = System.currentTimeMillis(); if (now > lastResetTime + interval) { token.set(rate); lastResetTime = now; } in 阅读全文
posted @ 2019-01-06 13:42 notlate 阅读(1717) 评论(0) 推荐(0)
摘要:server和client都是以下方法得到的,Exchanger这个接口只有这么一个实现,将来可能其他更加复杂获得server和cliet方式,以下这种是目前唯一的 public class HeaderExchanger implements Exchanger { public static f 阅读全文
posted @ 2019-01-01 16:03 notlate 阅读(502) 评论(0) 推荐(0)
摘要:根据注释,shutdown方法只是用来停止接收新的task,但是不能保证老的task是否已经停止。如果抛出SecurityException,那么说明调用者是不能直接关闭这个线程池的。 如果要确保老的任务也停止的话,那么需要调用awaitTermination阻塞等待关闭的结果。 如果返回结果是fa 阅读全文
posted @ 2019-01-01 14:58 notlate 阅读(696) 评论(0) 推荐(0)
摘要:两个用途一直是泛化服务,一种是泛化引用。前者是为了provider省事,后者是消费者省事。先介绍泛化服务怎么做到的: 比如提供者想省事,虽然提供了10个方法,但是不想在接口里面写十个方法,也就不用给这十个方法做函数声明、参数声明了。直接通过: 也就是通过method不同,直接返回不同处理结果,隐藏了 阅读全文
posted @ 2018-12-16 20:41 notlate 阅读(6153) 评论(0) 推荐(0)
摘要:duubo如何使用cache的?CacheFilterclass里面有,这个filter既可以在provider也可以在consumerif (cacheFactory != null && ConfigUtils.isNotEmpty(invoker.getUrl().getMethodParam 阅读全文
posted @ 2018-12-15 21:49 notlate 阅读(2177) 评论(0) 推荐(0)
摘要:序列化的操作就是:1 变成JavaBeanAccessor对象。 2 把value值塞进去 3通过IdentityHashMap(普通hashmap可以通过equals方法刷新掉,IdentityHashMap用内存地址作为key)对已经序列化好的描述符缓存起来复用 变成JavaBeanAccess 阅读全文
posted @ 2018-12-09 20:36 notlate 阅读(749) 评论(0) 推荐(0)
摘要:前面提到过,重试是靠ClusterInvoker来保证的,不同的Cluster在调用失败的时候 做不同处理 比如默认的FailoverClusterInvoke的doInvoke方法里面:int len = getUrl().getMethodParameter(invocation.getMeth 阅读全文
posted @ 2018-12-09 13:24 notlate 阅读(894) 评论(0) 推荐(0)
摘要:zk是比较典型场景,所以注册中心都是以zk作为例子的 1 对于registry,提供者没有这个,消费者才有。为什么? 因为只有消费者才需要去注册中心拿到provide的信息,而provider是不需要关注的,provider只需要去注册就好。在RegistryProtocol的export方法中,可 阅读全文
posted @ 2018-12-08 19:46 notlate 阅读(1437) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2018-10-22 00:05 notlate 阅读(151) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2018-10-21 19:39 notlate 阅读(134) 评论(0) 推荐(0)