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();
服务发布
### 关于 Dubbo 3.0 的学习笔记与使用教程 #### dubbo-demo 工程结构概述 在探讨 Dubbo 3.0 的具体应用之前,了解其工程构建方式至关重要。dubbo-demo 是 Maven 父工程,而 dubbo-api 则作为 Maven 子模块存在[^1]。此设计模式有助于更好地管理依赖关系和服务接口定义。 #### Dubbo 3.0 新特性介绍 相较于早期版本,Dubbo 3.0 增加了许多新功能来提升性能并简化开发流程。这些改进包括但不限于: - **协议优化**:引入了更高效的通信机制; - **API 变化**:调整了一些核心 API 设计以适应现代微服务体系架构需求; - **配置增强**:提供了更加灵活多样的配置选项和支持多种格式的外部化配置文件; #### 实际案例分析 - HTTP 调用实现 为了加深理解,在实际项目 `dubbo-http` 中实现了通过 HTTP 协议访问远程服务的功能。这里的关键在于如何正确设置 URL 映射以及处理请求参数传递等问题。例如,在 com.crossoverJie.api.DemoApi 接口中定义了一个名为 readMsg 的方法用于接收来自客户端的消息,并接受一个 Map 类型的对象 parames 来携带附加数据[^5]。 ```java public interface DemoApi { String readMsg(Map<String, Object> params); } ``` #### 安全性考量 当涉及到网络传输时,安全性始终是一个不可忽视的话题。因此,在真实环境中部署此类应用程序时,建议采用 SSL/TLS 加密技术或其他适当措施确保敏感信息的安全交换。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值