会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
notlate
管理
随笔分类 -
dubbo
dubbo怎么做自动注入的?
摘要:通过spi扩展加载的时候,都是通过extensionloader来得到extension的,比如获得一个exchanger: 那么就是先拿到自己的extensionloader,然后利用这个loder去拿到extent-name对应的具体的扩展实例。 对于每一个extensionloader来说,除
阅读全文
posted @
2019-01-06 15:54
notlate
阅读(1719)
评论(0)
推荐(0)
dubbo的url里面带的callback是怎么用的?
摘要:在url里面指定某个参数方法的第几个参数是一个callback,也就是说这个实参是一个callback,虽然消费者把这个callback实例传给了提供者,但是提供者实际本地没有这个callback实例,提供者只能继续远程调用消费者这个callback拿到结果。 比如消费者和提供者都在url里面指定
阅读全文
posted @
2019-01-06 14:07
notlate
阅读(1476)
评论(0)
推荐(0)
dubbo的lazyconnection啥意思?
摘要:ExchangeClient主要有两种实现: HeaderExchangeClient和LazyConnectExchangeClient,前者是正常使用的对于后者如果我们在url指定使用的话,那么refer一个service的时候,不会建立server的transport层面的connect,而是
阅读全文
posted @
2019-01-06 13:48
notlate
阅读(1387)
评论(0)
推荐(0)
dubbo如何做限流?
摘要: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)
dubbo中的切换不同transport怎么做到的?处理消息的handler链是咋样的?在哪里唤醒之前阻塞在发送request以后的业务线程?
摘要:server和client都是以下方法得到的,Exchanger这个接口只有这么一个实现,将来可能其他更加复杂获得server和cliet方式,以下这种是目前唯一的 public class HeaderExchanger implements Exchanger { public static f
阅读全文
posted @
2019-01-01 16:03
notlate
阅读(502)
评论(0)
推荐(0)
dubbo如何关闭一个线程池的?
摘要:根据注释,shutdown方法只是用来停止接收新的task,但是不能保证老的task是否已经停止。如果抛出SecurityException,那么说明调用者是不能直接关闭这个线程池的。 如果要确保老的任务也停止的话,那么需要调用awaitTermination阻塞等待关闭的结果。 如果返回结果是fa
阅读全文
posted @
2019-01-01 14:58
notlate
阅读(696)
评论(0)
推荐(0)
dubbo里面的GenericService干啥的
摘要:两个用途一直是泛化服务,一种是泛化引用。前者是为了provider省事,后者是消费者省事。先介绍泛化服务怎么做到的: 比如提供者想省事,虽然提供了10个方法,但是不想在接口里面写十个方法,也就不用给这十个方法做函数声明、参数声明了。直接通过: 也就是通过method不同,直接返回不同处理结果,隐藏了
阅读全文
posted @
2018-12-16 20:41
notlate
阅读(6153)
评论(0)
推荐(0)
dubbo如何做cache缓存
摘要:duubo如何使用cache的?CacheFilterclass里面有,这个filter既可以在provider也可以在consumerif (cacheFactory != null && ConfigUtils.isNotEmpty(invoker.getUrl().getMethodParam
阅读全文
posted @
2018-12-15 21:49
notlate
阅读(2177)
评论(0)
推荐(0)
dubbo里面的JavaBeanDescriptor是怎么进行序列化和反序列化的?
摘要:序列化的操作就是:1 变成JavaBeanAccessor对象。 2 把value值塞进去 3通过IdentityHashMap(普通hashmap可以通过equals方法刷新掉,IdentityHashMap用内存地址作为key)对已经序列化好的描述符缓存起来复用 变成JavaBeanAccess
阅读全文
posted @
2018-12-09 20:36
notlate
阅读(749)
评论(0)
推荐(0)
为什么dubbo的调用重试不建议设置成超过1
摘要:前面提到过,重试是靠ClusterInvoker来保证的,不同的Cluster在调用失败的时候 做不同处理 比如默认的FailoverClusterInvoke的doInvoke方法里面:int len = getUrl().getMethodParameter(invocation.getMeth
阅读全文
posted @
2018-12-09 13:24
notlate
阅读(894)
评论(0)
推荐(0)
dubbo中registry、route、directory、cluster、loadbalance、route的关系以及一个引用操作和调用操作到底干了啥
摘要:zk是比较典型场景,所以注册中心都是以zk作为例子的 1 对于registry,提供者没有这个,消费者才有。为什么? 因为只有消费者才需要去注册中心拿到provide的信息,而provider是不需要关注的,provider只需要去注册就好。在RegistryProtocol的export方法中,可
阅读全文
posted @
2018-12-08 19:46
notlate
阅读(1437)
评论(0)
推荐(0)
dubbo源码阅读笔记第二篇 SPI
摘要:
阅读全文
posted @
2018-10-22 00:05
notlate
阅读(151)
评论(0)
推荐(0)
dubbo源码阅读笔记第一篇 SPI
摘要:
阅读全文
posted @
2018-10-21 19:39
notlate
阅读(134)
评论(0)
推荐(0)