远程服务发布与引用流程剖析;
==================
-
3.1 Dubbo服务发布端启动流程剖析,
-
3.2 Dubbo服务提供方如何处理请求,
-
3.3 Dubbo服务消费方启动流程剖析,
-
3.4 Dubbo服务消费端一次远程调用过程,
Directory目录与Router路由服务;
===========================
-
4.1 Directory目录.,本章我们主要从下面几个方面来探讨RegistryDirectory :●消费端启动时何时构建RegistryDirectory;●RegistryDirectory 管理的invoker列表如何动态变化;●路由信息是如何保存与变化的。
-
4.2 RegistryDirectory 的创建;
-
4.3 RegistryDirectory 中invoker列表的更新,上一节探讨了RegistryDirectory 何时被创建,本节我们看看其管理的invoker列表是何时被创建与更新的。
Dubbo消费端服务mock与服务降级策略原理;
============================
-
5.1服务降级原理,
-
5.2本地服务mock原理,
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进行定制。
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提供了常用的线程池策略,这些策略可以满足我们绝大部分的需求,但是也可以根据自己的需要进行扩展定制。
Dubbo如何实现泛化引用;
==================
我们在本章中将探讨Dubbo如何实现泛化调用,主要内容包括:服务消费端如何使用GenericImplFiter拦截泛化调用,把泛化参数进行校验并发起远程调用;服务提供方如何使用GenercFilter拦截请求,并把泛化参数进行反序列化处理,然后把请求转发给具体的服务进行执行。
-
8.1服务消费端GenericlmplFilter源码分析;
-
8.2服务提供端GenericFilter源码分析;
Dubbo并发控制;
==============
由于资源的限制, 般会在服务提供方和消费方限制接口调用 并发数,本章将探讨相关的原理。
-
9.1服务消费端并发控制;
-
9.2服务提供端并发控制;
Dubbo隐式参数传递;
================
AbstractClusterInvoker是服务集群容错策略的抽象类,在默认情况下,集群容错策略为FailoverClusterlnvoker,其继承了AbstractCluterInvoker。
-
10.1服务消费端AbstractClusterlnvoker原理剖析
-
10.2服务提供方ContextFilter原理剖析
Dubbo全链路异步;
===============
-
11.1服务消费端异步调用,异步调用是基于NIO的非阻塞能力实现并行调用,服务消费端不需要启动多线程即可完成并行调用多个远程服务,相对多线程开销较小。
-
11.2服务提供端异步执行,在Provider端非异步执行时,对调用方发来的请求的处理是在Dubbo内部线程模型的线程池里的线程中执行的。 在Dubbo中,服务提供方提供的所有服务接口都是使用这一个线程池来执行的,所以当一个服务执行比较耗时时,可能会占用线程池中很多线程,从而导致其他服务的处理收到影响。
Provider端异步执行则将服务的处理逻辑从Dubbo内部线程池切换到业务自定义线程,避免Dubbo线程池中的线程被过度占用,有助于避免不同服务间的互相影响。但需要注意的是,Provider端异步执行对节省资源和提升RPC响应性能是没有效果的,这是因为如果服务处理比较耗时,虽然不是使用Dubbo框架内部线程处理,但还是需要业务自己的线程来处理,另外还有副作用,即会新增一次线程上下文切换(从Dubbo内部线程池线程切换到业务线程)。
- 11.3异步调用与执行引入的新问题;
本地服务暴露与引用原理;
================
- 12.1 本地服务暴露流程,
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
![img](https://img-blog.csdnimg.cn/img_convert/856b163de028eba66dd93465961d1d36.jpeg)
最后
针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。
最新整理面试题
上述的面试题答案都整理成文档笔记。也还整理了一些面试资料&最新2021收集的一些大厂的面试真题
最新整理电子书
最新整理大厂面试文档
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!
些大厂的面试真题
最新整理电子书
[外链图片转存中…(img-643QMfDL-1712506415561)]
最新整理大厂面试文档
[外链图片转存中…(img-OzTlbRwO-1712506415562)]
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!