阅读源码的作用
提取设计思路,增强设计能力
理解运行机制,便于快速解决问题以及功能扩展
常见有关dubbo的问题
dubbo的负载均衡是在哪个组件中处理的?
dubbo默认的负载均衡算法是什么?
如果注册中心挂掉了客户端是否能够继续调用dubbo?
一个请求从调用端到服务端的处理流程是什么?
如果你有仔细的研读dubbo的开发文档,大部分问题都是有答案的,为了进一步了解细节就有必要对源码进行了解。
源码分析计划
使用dubbo时间也有快两年时间了,虽然官方的dubbo已经停止维护,但也有其它组织在继续维护:
dubbox,是当当维护的
还有一个是基于jdk8版本的
一直想看看dubbo的源码,但没有集中时间来学习。最近利用了一部分时间所以将我的学习经历记录下来,主要从这几步来展开,只想搞清楚大体流程,对于其它一些细节我目前并不太关注,比如序列化,线程池,集群,上下文,异步回调等。
RPC框架的简易结构
dubbo客户端的初始化
dubbo服务端的初始化
dubbo客户端处理请求流程
dubbo服务端处理请求流程
RPC简易结构
为了更加清楚的看清楚RPC的结构,主要看以下几个核心组件即可,其余的组件都是围绕它们来完成。

序列化组件,因为需要远程调用,所以需要将参数以二进制流的形式进行编码操作

