阿里高级技术专家用一份笔记带你深度剖析Dubbo核心技术内幕

在单体应用时,不同业务模块部署在同一个JVM进程内,这时通过本地调用就可以解决不同业务模块之间的相互引用﹔但在多体应用时,不同业务模块大多部署到不同的机器上,这时一个高效、稳定的RPC框架就显得特别重要了。Apache Dubbo作为阿里巴巴开源的分布式RPC框架,是众多RPC框架中比较优秀的一个,在进入Apache孵化器项目后现已毕业,相信在开源社区的不断贡献下,它会成为RPC框架中的佼佼者。

image

为何要研究Apache Dubbo的实现原理

我们首先可以学习和深刻体会到分层架构带来的好处。Dubbo框架从整体上分为了业务(Business)层、RPC层和远程调用(Remoting〉层,其中业务层提供API,让使用者方便地发布与引用服务﹔RPC层则是对服务注册与发现、服务代理、路由、负载均衡等功能的封装,该层又可以被划分为很多层﹔远程调用层则是对网络传输与请求数据序列/反序列化等的抽象。使用分层架构可以保证下层的改变对上层不可见,并且可以实现关注点分离,比如使用者使用Dubbo时只关心如何使用业务层的API来发布与引用服务,而不需要关心RPC层的实现,当新版本 Dubbo升级了RPC层的逻辑时,使用者只需要升级Dubbo的版本就可以了,这是因为RPC层的修改对业务层使用者来说是透明的。

我们也可以学习到好的框架应该具有可扩展性。Dubbo就是一个扩展性极强的框架,其RPC层中的所有组件都是基于SPI扩展接口实现的,每个组件都可以被替换﹔Dubbo增强了JDK中提供的标准SPI功能,并且增加了对扩展接口的loC(一个扩展接口可以直接使用setter()方法注入其他扩展接口)和AO

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值