dubbo笔记

概述
  • dubbo X 是当当拉的一个分支一直在维护

  • 设计原则:微内核(扩展点-接口的实现类)+ 插件组件方便扩展、增强、替换

  •               URL作为配置信息的统一格式的公共契约
    
  • 领域模型:Protocol服务域-负责Invoker的生命周期管理,Invoker实体域-核心,Invocation会话域-调用过程中的变量方法名参数等。

  • 在这里插入图片描述

  • 十层架构在这里插入图片描述

  • 框架架构:dubbo-all[bom,cluster*,config,dependencies,filter,distribution,demo,monitor,plugin,registry(multicast广播,multiple多注册中心),rpc,remoting(netty,http,zk,p2p),common,metadata-report,serialization,container,configcenter(zk,nacos,applo,consul。。。)]

  • 2.6 com.alibabab.dubbo – 2.7 com.apache.dubbo : Java8

内核解析
  • jdk SPI缺点:加载全部服务不管有没有用到 serverLoader
  • dubbo SPI ExtensionLoader.getExtensionLoader(Class type).getExtension
  • 自适应机制@Adaptive 修饰类,方法 URL ?word,word = xxx 指定方式
  • Adaptive类不属于直接扩展类
  • Wrapper包装机制 aop实现,对spi接口进行增强
  • 加载、激活机制 Activate 一次性激活多个实例
  •     》group分组激活,order指定加载顺序
    
  •     》getActivateExtension(url,value,group)取并集
    
  •     》activate类属于直接扩展类
    
SPI 源码解析
  • 校验是否是SPI注解、接口
  • 从缓存中获取指定SPI接口的loader
  • first 注入对象zkclient
  • loader.getExtension(true);–getDefaultExtension();
服务发布
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值