Dubbo 源码剖析与实战
何辉
平安壹钱包架构师
4711 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 33 讲
开篇词 (1讲)
Dubbo 源码剖析与实战
15
15
1.0x
00:00/06:57
登录|注册

开篇词|带你玩转Dubbo微服务框架

讲述:何辉大小:6.34M时长:06:57
你好,我是何辉,很高兴能在这门 Dubbo 实战进阶课中和你相遇。
先自我介绍一下,我是一名擅长用 Java / Python / Go 封装插件或工具来解决通用性问题的一线架构师,也曾因为解决通用性问题先后申请了五十余项国家专利。
解决问题这件事,一直以来,我比较信奉爱因斯坦的一句话:“你无法在制造问题的同一思维层次上解决这个问题”。所以,既然能解决,我们要么依靠经验技巧,要么依靠方法流程、科学原理,或者是依靠哲学理念。
而问题,始终都会有的。对于 Dubbo 来说,每当我带领团队成员设计功能、代码编写、问题排查时,经常被问到:
我该怎么快速掌握 Dubbo 框架体系?
Dubbo 的知识点我都看了,为什么在实际应用的时候就想不到呢?
某些 Dubbo 特性我也知道,但是为什么需要有这样特性的存在?
看到 Dubbo 各种底层报错,如何根据问题反推用哪些特性来解决呢?
这些问题,你一定或多或少疑惑过。为了找到自己心中想要的答案,相信你也曾试图把 Dubbo 框架的代码翻个遍,但随着时间的流逝,你还能记住多少,又或者说你理解了多少?这也是我当时学 Dubbo 的困境。
因为 Dubbo 的学习说复杂也复杂,说简单也简单。
随着微服务的流行,现在好多项目要么起步就是微服务,要么就是在转微服务的过程中,但市场上微服务的框架为数不多,而属于 Java 开发的框架更加凤毛麟角了,Dubbo 框架,恰巧就是其中一款。
而这么一款几乎是国内微服务的首选框架,Dubbo 可谓是身经百战,经历了阿里巴巴各种复杂业务的高并发挑战,也受到大规模互联网企业的高度认可,涵盖从战略到战术、从顶层到底层、从抽象到具体,有着非常全面的技术知识体系,这是 Dubbo 学习的复杂所在。
那怎样才能更简单地上手并掌握 Dubbo 框架呢?
很多人就像我前面说的那样,花大量的时间和精力钻研 Dubbo 框架的代码,当然可行,但也会走很多弯路,而且可能因为一头扎进源码中,沉迷细节无法自拔,终究比较痛苦地拿下了最难的知识体系,却又因为缺乏实战经验,在开发时,对如何应用仍然毫无头绪,感觉学了个寂寞。
其实,对于我们大多数人来说,最好最简单的学习方式一定是带着问题学习,要会抓体系、抓主干、抓思路,重思考、重推导、重理解,而不是一上来就去啃源码,这样很容易把自己的信心压垮。
毕竟,凡是你理解的都会记住,凡是你不理解的都会遗忘。我们学 Dubbo,不是学怎么用 Java 写出一手好代码,而是学它的编码技巧、设计思想、架构精髓,然后按照自己所理解的方式去使用。
当你认认真真在几个框架中实践以后,你会发现很多之前觉得难的设计思路,其实套路都差不多,都是以最简单实用的逻辑,在特定的场景中,以不同的形式,体现在框架中。
所以,在这个专栏里,我会带着你以“发现问题——分析问题——解决问题”的案例驱动的思路,从一个问题现象出发,分析如何思考问题,一步步推导出需要怎样的技术支撑,再从我们已有的知识储备搜刮出可以有哪些解决方案,最后针对这些解决方案,快速有效地细化出落地方案,逐渐找到透过现象看本质的方法论。
具体会分为 4 个模块:
基础篇
用一张 Dubbo 的总体架构图,把日常的开发流程串联起来,勾勒起你对 Dubbo 数十个基础知识点的整体印象;在此基础上,用视频形式带你统一梳理 Dubbo 日常开发必须掌握的基础特性,查漏补缺。
如果你是初学者,掌握好基础篇就能应付日常开发实践了。
特色篇
以真实案例为背景,逐步分析并推导出需要的技术手段,带你灵活应用框架中的高级特性来解决实际问题。深入理解高级特性外,也有助于你利用高级特性开发出比较通用的产品功能。
如果你是有 Dubbo 基础的开发者,掌握特色篇基本上可以在实战中横着走了。
源码篇
通过源码的学习,达到知其然知其所以然。我们会站在框架设计者的角度,体会 Dubbo 框架每个机制设计的亮点所在,锻炼你对 Dubbo 掌握的纵向深度。
如果你对自己有更高要求,掌握了源码篇,你可以称得上 Dubbo 框架高手了。
拓展篇
在这里我们将针对一些工作中的实际诉求,分析出需要的功能解决方案,并且从前面已学的知识点中,提取关键要素尝试解决,在应用中进一步提升你对 Dubbo 的理解,晋级宗师。
整个专栏,我们会循序渐进地学习,但每一讲是相对独立的,你也可以针对性学习,思考题,我也会在下一讲解答。
而且每一讲,也都是面试环节经常被问到的知识点,你完全可以参考我们学习的思路跟面试官掰扯,在一个什么样的实战场景中,你遇到了一个什么样的难题,是怎么分析得到解决方案的,又是如何找到突破口的,最后你还能利用课程中的实战代码向面试官说明你是如何编码解决的(课程的代码仓库链接: https://gitee.com/ylimhhmily/GeekDubbo3Tutorial)。
有问题,有思路,有解法,还有代码,保证表现亮眼。
好,马上就要正式开课了,在开始之前,我想把美团王兴的那句话送给你:“多数人为了逃避真正的思考,愿意做任何事情。
如今这个又“卷”又“急躁”的 IT 行业,竞争压力不小,毕业生大量涌入,大批非科班人士转行,面对浩瀚的人员,面试时不得不大力出奇招,先问算法过滤一波,再问技术底层过滤一波,然后问字节码汇编过滤一波,剩下来的就寥寥无几了。
但陷入“卷面试”的表象反而是最远的弯路,毕竟日常面对实际开发问题,才是见真章的时候,真正愿意慢下来沉心思考软件设计精髓思想的那批人,反而能走得更稳,走得更远!
加油吧,让我们一起携手,向着 3 个月后游刃有余掌握 Dubbo 的目标冲锋,助你轻松驾驭各种微服务框架。
戳此加入专栏交流群
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Dubbo微服务框架是一款备受推崇的Java开发框架,本文作者何辉将带领读者深入探索Dubbo框架的实战应用。文章以解决实际问题为出发点,分为基础篇、特色篇、源码篇和拓展篇四个模块,通过案例驱动的思路,帮助读者从问题现象出发,分析思考问题,推导出需要的技术支撑,并提供解决方案。作者强调学习Dubbo框架应该抓住体系、主干和思路,重视思考、推导和理解,而非一味钻研源码。通过逐步学习,读者可以掌握Dubbo框架的核心知识,应对日常开发实践和面试挑战。文章鼓励读者在竞争激烈的IT行业中,不要陷入“卷面试”的表象,而是真正愿意慢下来沉心思考软件设计精髓思想,从而走得更稳、更远。

2022-12-1918人觉得很赞给文章提建议

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Dubbo 源码剖析与实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(23)

  • 最新
  • 精选
  • Geek_895efd
    对目前微服务框架的迷惑,期待老师答疑: 1、目前的微服务框架:springCloud体系、阿里的springCloudAlibaba体系、以dubbo为主的微服务框架 2、对微服务框架的疑惑点一:国内主流微服务栈基本是springCloudAlibaba,我看阿里官方的描述,dubbo也是springCloudAlibaba的组成部分,那dubbo现在也有服务治理能力,是可以替代springCloudAlibaba吗 3、对微服务框架的疑惑点二:springCloudAlibaba技术栈包括nacos、springCloud gateway、sentinel、Sleuth、Seata等,那末duboo微服务治理包括哪些,还是说跟pringCloudAlibaba是重叠的 4、对微服务框架的疑惑点三:springCloudAlibaba、dubbo各自的定位是什么 5、对微服务框架的疑惑点四:springCloudAlibaba、dubbo各自的使用场景是什么 期待老师的答疑:不然,课程学下来,学的目的都不知道是什么

    作者回复: 你好,Geek_895efd:看了你的问题,确实问的非常好,非常有自己的想法和思考,挺好的。 对于大众化普通诉求,使用任何一款都行。 然而,若对一些停更的组件比较在意的话,SpringCloudAlibaba主要对SpringCloud中的一些停更组件进行了延续,通过扩展或者替换的方式,使得SpringCloudAlibaba变相成为了SpringCloud的增强版本,阿里在增强版本中新增了Nacos、Gateway、Sentinel等等组件来扩展或替换那些停更的组件。 既然是增强版本的话,那么SpringCloudAlibaba和SpringCloud在进行服务调用时首选的是大众化的RestAPI形式,通过Feign来发起HTTP调用。 但是,微服务体系也存在不少的内部服务之间的调用,若对远程调用有极致的性能追求,毕竟HTTP是走在7层协议之上,而Dubbo发起的RPC调用走在4层协议上,就单纯从拆包解包来说,数据走在4层与走在7层来说,当然是走在4层的数据包会小一些。 所以 Dubbo 在远程调用上会有极致的追求,但也有人们想在SpringCloudAlibaba和SpringCloud之上,对于服务之间的调用也想使用4层的TCP发起调用的话,那么就衍生出了SpringCloudAlibabaDubbo微服务框架。

    2023-01-12归属地:浙江
    2
    5
  • LVM_23
    老师,Dubbo我在其他地方看说是RPC框架,当前文中说是微服务框架。没理解好,求解惑,谢谢

    作者回复: 你好,LVM_23 :这个问题确实提的挺好的,想必深度思考了一番。Dubbo以前官网介绍定位是一个高性能 RPC 框架,现在官网介绍已经定位是一个微服务框架。不但具备远程调用与服务发现,同时还在此基础上提供了一系列的治理能力。

    2022-12-21归属地:湖南
    2
    5
  • Andy
    看了《开篇词》,可以看出这是老师对于学习之“道”、解决之“道”的干货分享,我是先大致浏览了一下,发现有很多细节点,也就是一些思维,非常重要,也很契合我之前所想的,比如“问题驱动学习”、“卷面试”、“凡是理解的都会记住,凡是不理解的都会忘记”,而后,又重新精读了一遍。 整篇写得非常诚恳,也很务实,可以说,是一切后续学习实践的真正前提,所谓“工欲善其事,必先利其器”。方向和方法对了,接下来只是行动就完了。很多人总想一下子扎进知识干货的海洋里,熟不知海洋里不会游泳,是会淹死的。正如那句古话所言“吾生也有涯,而知也无涯,以有涯随无涯,殆己”。 希望,想要学习任何知识,想要收获真正解决问题的能力的同学,应该好好先看看这篇开篇词。

    作者回复: 你好,andy:非常感谢你的认真阅读和真诚的感慨。毕竟思想是一切的源泉,有了思想这把利剑后,编码就仅仅只是按部就班执行代码编程而已,思维绽放的结果却是一个别人难以想到或难以超越的功能点,不仅仅要做一个实战之王,更要做一个思考之圣,争取做到知行合一。

    2023-01-04归属地:广东
    3
  • 陌兮
    赶上热乎的了。16年底开始用dubbo,不过后面通知不会维护了,加上换了公司,就开始用spring-cloud。现在所在的家公司又在用dubbo,再捡回来。

    作者回复: 你好,陌兮:赶早不如赶巧,预祝学习旅途愉快😄

    2023-01-03归属地:广东
    2
  • Evan
    Dubbo 源码篇是按3.0 以版解讲 ?Dubbo 确实非常优秀的,和Spring Cloud 相比缺少一定生态技术环境

    作者回复: Dubbo 3.0.7 版本。

    2022-12-19归属地:广东
    2
  • 张申傲
    老师的课程不仅内容质量高,还很励志~

    作者回复: 你好,张申傲:非常感谢你的高度评价,您的“满意”是我们前进的最大动力!

    2022-12-26归属地:广东
    1
  • Casin
    加油跟着老师一起学

    作者回复: 你好,Casin:好勒,学习之旅竭尽全力为您服务😄

    2022-12-22归属地:湖南
    1
  • 小天
    工作里一直有用到Dubbo,但也就只知道怎么用。希望能通过学习了解更多

    作者回复: 你好,小天:那你就已经有了夯实的基础了,学起来简直如虎添翼,每章的东西都是经过精心设计,学后可以横向迁移到其他框架依葫芦画瓢的,可以用心慢慢体会下~加油(*´꒳`*)

    2022-12-21归属地:湖南
    1
  • aoe
    目标是用 Dubbo 横着走

    作者回复: 你好,aoe:可以的,看好你,加油(・ω< )★

    2022-12-21归属地:湖南
    1
  • 慎独明强
    最近在看dubbo的源码,希望这个课程可以从不同角度的有收获

    作者回复: 慎独明强,你好:挺好的,very nice,期待看到你另一面对 dubbo 的独到见解,加油@_@

    2022-12-19归属地:广东
    1
收起评论
显示
设置
留言
23
收藏
23
沉浸
阅读
分享
手机端
快捷键
回顶部