从0开始看dubbo源码过程中,对于整个源码阅读与之前阅读部分的Spring源码不太一样,首先之前没有看过源码,因为Spring的一个流程比较复杂,所以一直在跳转跳转,大流程比较多,生命周期较长。自己当时也不会做一下笔记。又组件比较多且复杂。但是Dubbo的分层很是清晰,几层分下来一层一层的看下去,边记笔记边看,很舒服。以及Dubbo SPI初始化过程,里面的SPI 虽简洁,但不失优雅。通过约定的方式解决的依赖注入的问题。里面的服务注册中心、服务发布、服务调用、拦截器链等等这些都是很舒服。在使用上通过策略自行组装各个层面的扩展点实现RPC。

这次看看源码和之前的也不一样,这一次更多的是思考了为什么这样写,这样写有什么好处。并且对类之间的关系通过UML图等方式进行学习与了解。也做了笔记,也发表出来博客,虽然质量上还是有些牵强,但是坚持下去,后面再回过头来去提炼提炼,终究也是可以帮助自己成长的更好的。

总而言之,这一次并不是为了把所有的dubbo读懂读透,而是再出了问题的时候,知道是哪里的问题, 能够第一时间定位问题。无论是开发时期的依赖问题,服务发布等常见的问题,知道了哪些组件可以扩展,可以更好的服务于当前业务。
因为目前在产品的定位就是可以解决开发过程、测试过程的任何问题,虽然很艰难,但是每一次也能逢凶化吉。

这次的总结并不代表结束,在交换层的netty这些技术也是需要深挖的,zk注册中心也是可以深挖的,比如zk的选举算法,ZAB协议,虽然看了但是还不是很懂。dubbo的框架的整个流程分层,根据领域分层这也是需要一定的思考。

目前还很渺小,前几天也和一位大佬面基,也强调了技术是为业务服务,其实我们现在的产品中除了功能 的完整性也是可以深挖很多东西的。比如应用机器学习提高准确性,当前的情感分析还是未处理阶段,大数据性能问题并未真正的研究测试,只是浮于表面,对于这些,如果能够根据业务场景进行不断地深挖,还是很有挑战的。

Dubbo源码解析(九)Dubbo系列 源码总结+最近感悟相关推荐

  1. 【dubbo源码解析】--- dubbo中Invoker嵌套调用底层原理

    本文对应源码地址:https://github.com/nieandsun/dubbo-study 文章目录 1 dubbo中Invoker的重要性 2 dubbo RPC链条中代理对象的底层逻辑 2 ...

  2. React 源碼解析 - Fiber/Reconcile 系列:Fiber 與 Diff

    React 源碼解析 - Fiber/Reconcile 系列:Fiber 與 Diff 前言 正文 從 DOM 到 Fiber 對象 DOM VDOM React 元素(React Element) ...

  3. 【dubbo源码解析】 --- dubbo spi 机制(@SPI、@Adaptive)详解

    本文对应源码地址:https://github.com/nieandsun/dubbo-study 注意:dubbo 要求SPI扩展点的实现类必须要有一个无参构造,除了Wrapper实现类之外 文章目 ...

  4. Mybatis 源码解析 -- 基于配置的源码解析(二)

    为什么80%的码农都做不了架构师?>>>    mapper解析 接着上篇的配置,本篇主要讲解mappers标签 <?xml version="1.0" e ...

  5. 开源中国(OSChina)源码解析(1)——源码导入

    1.前言 一直有想带大家一起分析开源中国源码的一个计划.但是因为这些或者那些的原因,都被搁浅了.接下来呢,我们一步一步的抽丝剥茧,对源码进行分析,希望给大家能带来一些成长. 2.源码 2.1.下载源码 ...

  6. AndroidICS4.0----LockScreen锁屏流程【Android源码解析九】

    先来说说LockScreen分类: 一.无锁屏: 二.锁屏: 1.UnLockScreen: 图案锁. PIN锁, 密码锁: 2.LockScreen: 波纹锁: 转载请表明出处:http://blo ...

  7. android项目源码解析04:新浪微博客户端源码解析

    本文主要介绍如何构建新浪微博客户端.以网上流传weiboSina源码为例介绍,其下载地址为: http://download.csdn.net/detail/ryzhanglu/3453875. 1. ...

  8. beaninfo详解源码解析 java_【Spring源码分析】Bean加载流程概览

    代码入口 之前写文章都会啰啰嗦嗦一大堆再开始,进入[Spring源码分析]这个板块就直接切入正题了. 很多朋友可能想看Spring源码,但是不知道应当如何入手去看,这个可以理解:Java开发者通常从事 ...

  9. 源码 解析_最详细集合源码解析之ArrayList集合源码解析

    从今天开始我会将集合源码分析陆陆续续整理,写成文章形成集合源码系列文章,方便大家学习 ArrayList集合源码其实相对比较简单,整个源码结构相对于HashMap等源码要好理解的多:先来看下Array ...

  10. Redis源码解析(1)——源码目录介绍

    概念 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有序集合).这些 ...

最新文章

  1. Keras K.switch()用法
  2. java文件名特殊字符_如果拒绝打开文件名中带有特殊字符的文件,如何修复Java?...
  3. 用计算机控制检测实时温度,温度实时测量及控制系统.doc
  4. Linux 系统线程数量上限是多少?
  5. 2019.08 me
  6. 编写高质量的Makefile
  7. Linux 命令之 iostat 命令-监视系统输入输出设备和 cpu 的使用情况
  8. 容器编排技术 -- 使用Vagrant本地运行Kubernetes
  9. ajax 隔x秒发送一次,如何使用XAJAX和PHP编写实时聊天?
  10. 手机Web 开发中图片img 如何等比例缩放
  11. 分享用Adobe Air向iOS移植游戏的经验
  12. C++--第14课 - 专题二经典问题解析
  13. WPF学习笔记-用Expression Design制作矢量图然后导出为XAML
  14. 【数学建模】基于matlab重庆三号线地铁运行仿真【含Matlab源码 042期】
  15. EasyUI管理后台模板(附源码)
  16. 扣费克星 1.72 更新说明
  17. mysql的group by语句不会产生_MySQL:为什么查询列表中多了它,GROUP BY语句就会报错呢?...
  18. python怎样查找收盘价_如何在Python中从晨星获得调整后的收盘价?
  19. mongo写入mysql_从mysql读取数据写入mongo
  20. ASCLL字母表顺序

热门文章

  1. PyTorch中tensor介绍
  2. PCDATA和CDATA区别
  3. 学习win32汇编指令:lea和offset
  4. Alpine | Docker基础镜像
  5. sql server远程连接时提示超时的解决办法
  6. 初探Python声音处理(Demo)
  7. 王者荣耀服务器维护中可是别人能玩,王者荣耀:当别人玩你的号,最怕别人动你账号里哪些东西?...
  8. ajaxSubmit来上传文件
  9. 多线程练习:模拟多人爬山
  10. 20230308-二维数组的长度