绝无仅有!阿里P8专家整理分享的深度剖析ApacheDubbo核心技术笔记文档,特此分享!

阿里P8专家分享出深度剖析ApacheDubbo核心技术文档

远程服务发布与引用流程剖析;

==================

  • 3.1 Dubbo服务发布端启动流程剖析,

  • 3.2 Dubbo服务提供方如何处理请求,

  • 3.3 Dubbo服务消费方启动流程剖析,

  • 3.4 Dubbo服务消费端一次远程调用过程,

阿里P8专家分享出深度剖析ApacheDubbo核心技术文档

Directory目录与Router路由服务;

===========================

  • 4.1 Directory目录.,本章我们主要从下面几个方面来探讨RegistryDirectory :●消费端启动时何时构建RegistryDirectory;●RegistryDirectory 管理的invoker列表如何动态变化;●路由信息是如何保存与变化的。

  • 4.2 RegistryDirectory 的创建;

  • 4.3 RegistryDirectory 中invoker列表的更新,上一节探讨了RegistryDirectory 何时被创建,本节我们看看其管理的invoker列表是何时被创建与更新的。

阿里P8专家分享出深度剖析ApacheDubbo核心技术文档

Dubbo消费端服务mock与服务降级策略原理;

============================

  • 5.1服务降级原理,

  • 5.2本地服务mock原理,

阿里P8专家分享出深度剖析ApacheDubbo核心技术文档

Dubbo集群容错与负载均衡策略;

=====================

  • 6.1 Dubbo集群容错策略概述,当我 进行系统设计时 不仅要考虑正常情况 代码逻辑应该如何 还要考虑异常情况下代码逻辑应该怎么走。当服务消费方调用服务提供方的服务 现错误 Dubbo供了多种容错方案 默认模式为 Failo er luster ,也就是失败重试。

  • 6.2 Failfast Cluster策略源码分析;

  • 6.3 Failsafe Cluster策略源码分析;

  • 6.4 Failover Cluster策略源码分析;

  • 6.5 Failback Cluster策略源码分析;

  • 6.6 Forking Cluster策略源码分析;

  • 6.7 Broadcast Cluster策略源码分析;

  • 6.8如何基于扩展接口自定义集群容错策略,前面已经讲过 Dubbo 本身提供了丰富的集群容错策略,但是如果你有定制化需求可以根据 Dubbo 提供的扩展接口Cluster进行定制;

  • 6.9 Dubbo负载均衡策略概述,当服务提供方是集群时,为了避免大量请求一直集中在一个或者几个服务提供方机器上,从而使这些机器负载很高,甚至导致服务不可用,需要做一定的负载均衡策略。Dubbo提供了多种均衡策略,默认为random,也就是每次随机调用一台服务提供者的服务。

  • 6.10 Random LoadBalance策略源码分析;

  • 6.11 RoundRobin LoadBalance策略源码分析;

  • 6.12 LeastActive LoadBalance策略源码分析;

  • 6.13 ConsistentHash LoadBalance策略源码分析;

  • 6.14如何基于打展接口自定义负载均衡策略,如前所述,Dubbo 本身提供了丰富的负载均衡策略,但是如果你有定制化需求,则可以根据Dubbo提供的扩展接口LoadBalance进行定制。

阿里P8专家分享出深度剖析ApacheDubbo核心技术文档

Dubbo线程模型与线程池策略;

====================

  • 7.1 Dubbo的线程模型概述,Dubbo默认的底层网络通信使用的是Netty,服务提供方NettyServer使用两级线程池,其中EventLoopGroup(boss) 主要用来接收客户端的链接请求,并把完成TCP三次握手的连接分发给EventLoopGroup(worker)来处理,我们把boss和worker线程组称为IO线程。

  • 7.2 AllDispatcher源码剖析;

  • 7.3 DirectDispatcher源码剖析;

  • 7.4 MessageOnlyDispatcher源码剖析;

  • 7.5 ExecutionDispatcher源码剖析;

  • 7.6 ConnectionOrderedDispatcher源码剖析;

  • 7.7线程模型的确定时机;

  • 7.8如何基于扩展接口自定义线程模型,Dubbo提供了常用的线程模型,这些模型可以满足我们绝大部分的需求,但是也可以根据自己的需要进行扩展定制。

  • 7.9 Dubbo的线程池策略,我们在上面讲解Dubbo线程模型时提到,为了尽量早地释放Netty的I/O线程,某些线程模型会把请求投递到线程池进行异步处理,那么这里所谓的线程池是什么样的线程池呢?其实这里的线程池ThreadPool也是一个扩展接口SPI,Dubbo 提供了该扩展接口的一些实现。

  • 7.10 FixedThreadPool源码剖析;

  • 7.11 LimitedThreadPool源码剖析;

  • 7.12 EagerThreadPool源码剖析;

  • 7.13 CachedThreadPool源码剖析;

  • 7.14线程池的确定时机;

  • 7.15如何基于扩展接口自定义线程池策略,Dubbo提供了常用的线程池策略,这些策略可以满足我们绝大部分的需求,但是也可以根据自己的需要进行扩展定制。

阿里P8专家分享出深度剖析ApacheDubbo核心技术文档

Dubbo如何实现泛化引用;

==================

我们在本章中将探讨Dubbo如何实现泛化调用,主要内容包括:服务消费端如何使用GenericImplFiter拦截泛化调用,把泛化参数进行校验并发起远程调用;服务提供方如何使用GenercFilter拦截请求,并把泛化参数进行反序列化处理,然后把请求转发给具体的服务进行执行。

  • 8.1服务消费端GenericlmplFilter源码分析;

  • 8.2服务提供端GenericFilter源码分析;

阿里P8专家分享出深度剖析ApacheDubbo核心技术文档

Dubbo并发控制;

==============

由于资源的限制, 般会在服务提供方和消费方限制接口调用 并发数,本章将探讨相关的原理。

  • 9.1服务消费端并发控制;

  • 9.2服务提供端并发控制;

阿里P8专家分享出深度剖析ApacheDubbo核心技术文档

Dubbo隐式参数传递;

================

AbstractClusterInvoker是服务集群容错策略的抽象类,在默认情况下,集群容错策略为FailoverClusterlnvoker,其继承了AbstractCluterInvoker。

  • 10.1服务消费端AbstractClusterlnvoker原理剖析

  • 10.2服务提供方ContextFilter原理剖析

阿里P8专家分享出深度剖析ApacheDubbo核心技术文档

Dubbo全链路异步;

===============

  • 11.1服务消费端异步调用,异步调用是基于NIO的非阻塞能力实现并行调用,服务消费端不需要启动多线程即可完成并行调用多个远程服务,相对多线程开销较小。

  • 11.2服务提供端异步执行,在Provider端非异步执行时,对调用方发来的请求的处理是在Dubbo内部线程模型的线程池里的线程中执行的。 在Dubbo中,服务提供方提供的所有服务接口都是使用这一个线程池来执行的,所以当一个服务执行比较耗时时,可能会占用线程池中很多线程,从而导致其他服务的处理收到影响。

Provider端异步执行则将服务的处理逻辑从Dubbo内部线程池切换到业务自定义线程,避免Dubbo线程池中的线程被过度占用,有助于避免不同服务间的互相影响。但需要注意的是,Provider端异步执行对节省资源和提升RPC响应性能是没有效果的,这是因为如果服务处理比较耗时,虽然不是使用Dubbo框架内部线程处理,但还是需要业务自己的线程来处理,另外还有副作用,即会新增一次线程上下文切换(从Dubbo内部线程池线程切换到业务线程)。

  • 11.3异步调用与执行引入的新问题;

阿里P8专家分享出深度剖析ApacheDubbo核心技术文档

本地服务暴露与引用原理;

================

  • 12.1 本地服务暴露流程,

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。

最新整理面试题
在这里插入图片描述

上述的面试题答案都整理成文档笔记。也还整理了一些面试资料&最新2021收集的一些大厂的面试真题

最新整理电子书

在这里插入图片描述

最新整理大厂面试文档

在这里插入图片描述

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!
些大厂的面试真题

最新整理电子书

[外链图片转存中…(img-643QMfDL-1712506415561)]

最新整理大厂面试文档

[外链图片转存中…(img-OzTlbRwO-1712506415562)]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!

  • 11
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值