- 博客(5)
- 收藏
- 关注
原创 堆排序
func buildHeap(nums []int){ //从底往上构造大顶堆 for i:=len(nums)/2+1;i>=0;i–{//len(nums)/2+1为第一个非叶子节点,减少循环次数,增加效率 chonggou(nums,i,len(nums))//对i为父节点的堆进行构造大顶堆 }//构造大顶堆 for i:=len(nums)-1;i>=0;i–{ nums[0]...
2018-09-27 16:40:43
78
原创 dubbo提供者接收信息解码
dubbo使用netty接收信息,接收信息后会进入解码阶段。 NettyCodecAdapter该类中的内部类在接收到消息后会有后续处理: 然后会循环调用ExchangeCodec的decode方法解码 该循环是为了处理流的粘包问题,如果msg返回为需要更多字节,则回滚ChannelBuffer message指针到之前未知,重新读取,调取解析。 ExchangeCodec的decode方法代码如...
2018-09-27 11:40:58
125
原创 dubbo服务调用
通过之前的服务发现,已经生成了服务引用的ref,也就是某个invoker。 通过调用Invoker即可实现远程服务。 invoker有需要实现负载均衡的和普通的。 AbstractClusterInvoker该类是所有实现负载均衡的Invoker的父类,会在invoke方法调用进入 在此会拼接调用信息获取invokers,会取得本地methodInvoker和router,并校验过滤掉不符合路由条...
2018-09-27 11:40:29
122
原创 dubbo服务发现
ReferenceBean该类实现了FactoryBean等spring加载的接口,在spring初始化会执行该类的 并在结束后调用afterPropertiesSet这个方法,该方法进行了各个多个Config的加载,例如consumerConfig、applicationConfig、moduleConfig、registryConfigs、monitorConfig。 然后调用checkAnd...
2018-09-27 11:39:50
621
原创 dubbo服务暴露
ServiceBean继承了ApplicationListener类,实现了onApplicationEvent方法 该方法会进行校验并执行this.export(); 该方法会取提供者的export,如果有就直接取得,没有则执行doExport() 进行一系列校验后调用doExportUrls 此时会加载注册配置信息获取url列表 然后循环protocols进行下一步doExportUrlsFo...
2018-09-27 11:39:19
89
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人