奉若神明!阿里技术专家开源ApacheDubbo核心源码笔记

简介: Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring 框架无缝集成。

前言

Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring 框架无缝集成。

主要的核心部件:

  • Remoting: 网络通信框架,实现了 sync-over-async 和 request-response 消息机制
  • RPC: 一个远程过程调用的抽象,支持负载均衡、容灾和集群功能
  • Registry: 服务目录框架用于服务的注册和服务事件发布和订阅

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

而在微服务大行其道的今天,RPC框架作为微服务之间通信的一种手段,其在微服务架构中占有一席之地,Apache Dubbo (后面简称Dubbo)则是RPC框架中比较优秀的代表,为了更好地使用它,其实现原理自然值得我们去探究。

下面我们具体谈谈通过研究Dubbo框架的实现原理,到底能学到什么。

从基础、高级和实践三部分给大家进行讲解:需要获取的小伙伴可以点击此处来获取就可以了!

第一部分基础篇

首先从整体上讲解使用Dubbo搭建的系统由哪些模块组成,各模块相互之间的调用关系是怎么样的,然后基于本书的Demo讲解如何使用Dubbo

第1章Dubbo基础

第二部分高级篇

主要讲解Dubbo框架内部的实现原理,包含支撑Dubo框架的适配器类原理、动态编译原理、增强SPI原理、消费端的泛化调用实现原理、消费端异步调用与服务提供端的异步执行、Dubbo框架的线程模型、消费端负载均衡策略、消费端集群容错策略、并发控制原理、Dubbo 网络协议等

第2章Dubbo 框架内核原理剖析

第3章远程服务 发布与引用流程剖析

第4章Directory 目录与Router路由服务

第5章Dubbo消费端服务mock与服务降级策略原理

第6章Dubbo 集群容错与负载均衡策略

第7章Dubbo线程模型与线程池策略

第8章Dubbo如何实现泛化引用

第9章Dubbo并发控制

第10章Dubbo 隐式参数传递

第11章Dubbo 全链路异步

第12章本地服务暴露与引用原理

第13章Dubbo 协议与网络传输

第三部分实践篇

主要探讨如何使用Arthas和一些Demo来为研究Dubbo框架原理提供方便,并且讲解如何基于CompletableFuture和Netty模拟RPC同步与纯异步调用。

第14章Dubbo实践

内容就不给大家做过多的展示了,需要获取的小伙伴可以点击此处来获取就可以了!

相关文章
|
5月前
|
消息中间件 存储 NoSQL
阿里开源中间件一览
阿里开源中间件一览
333 2
|
5月前
|
数据可视化 BI OLAP
技术经验分享:DundasBI简介
技术经验分享:DundasBI简介
40 0
|
存储 消息中间件 人工智能
阿里是如何使用分布式架构的?阿里内部学习手册分享
为什么要使用分布式架构?分布式架构解决了互联网应用的两大难题:高并发和高可用。高并发指服务器并发处理客户端请求的数量大,而高可用指后端服务能始终处于可用状态。
|
6月前
|
消息中间件 存储 架构师
鼓掌!阿里技术官亲荐“架构修炼宝典”,从基础到源码,一站到底
作为一名程序员,尽早确定自己的发展方向和路线是非常重要的,架构师则是其中的方向之一。很多程序员,奋斗大半辈子,是为了让自己成为一名合格且优秀的架构师,但是成为架构师并非一件易事,它对于技术方面的要求也是非常高的。
|
缓存 监控 架构师
价值32k!阿里顶级架构师深度解析SpringBoot进阶原理实战手册
在当下的互联网应用中,业务体系日益复杂,业务功能也在不断地变化。以典型的电商类应用为例,其背后的业务功能复杂度以及快速迭代要求的开发速度,与5年前的同类业务系统相比,面临着诸多新的挑战。这些挑战中核心的一点就是快速高效地实现系统功能,同时保证代码持续可维护,这是一个非常现实且亟待解决的问题。
|
6月前
|
SQL Java API
《Java开发手册灵魂13问》正式上线,带你剖析阿里巴巴的开发细节
一线大厂怎么用Java?看阿里技术专家给你分析!《〈Java开发手册(泰山版)〉灵魂13问》电子书正式上线带你剖析阿里巴巴一线团队开发思维。
|
Java
【重磅推荐】阿里巴巴Java开发手册 1.4.0
【重磅推荐】阿里巴巴Java开发手册 1.4.0
2011 0
|
安全 Java 关系型数据库
《阿里巴巴Java开发手册(终极版)》电子版地址
《阿里巴巴Java开发手册》(终极版)从Java开发者的视角出发,内容涵盖编程规约、异常日志、单元测试、安全规约、工程结构、MySQL数据库六个维度。 本手册自发布以来,多次迭代,阅读量数以百万计,可称为Java开发者的必读手册。通过阅读本书,开发者同学可以系统地学习到如何在编程过程中高效协作、提升程序的交付质量、以及提升代码内容的创造性和优雅性。
5643 0
《阿里巴巴Java开发手册(终极版)》电子版地址
|
容器 Kubernetes Perl
从零开始入门 K8s| 阿里技术专家详解 K8s 核心概念
作者| 阿里巴巴资深技术专家、CNCF 9个 TCO 之一 李响 一、什么是 Kubernetes Kubernetes,从官方网站上可以看到,它是一个工业级的容器编排平台。Kubernetes 这个单词是希腊语,它的中文翻译是“舵手”或者“飞行员”。
16283 0
|
人工智能 开发者 Python
模型社区实战训练营首开,开源让代码更有趣!
阿里云开发者学堂联合modelscope社区推出了模型实战系列训练营,培养AI开发者从各种模态的模型选择,只需要懂得python,也可以玩转人工智能模型。
下一篇
无影云桌面