![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
dubbo
wasdasdfqwer
一路向前...
展开
-
Dubbo源码分析8之服务降级
Dubbo源码分析8之服务降级1.简介可以通过服务降级功能临时屏蔽某个出错的非关键服务,并定义降级后的返回策略。服务降低的方式有两种:容错和屏蔽。配置方式:可以通过dubbo监控中心控制台配置,也可以通过代码配置。向注册中心写入动态配置覆盖规则:RegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(Re...原创 2020-01-13 14:22:33 · 191 阅读 · 0 评论 -
Dubbo源码分析9哪些地方用到了哪些设计模式
Dubbo源码分析9哪些地方用到了哪些设计模式1.模板方法模式1.1服务目录Directory服务目录是什么:服务目录中存储了一些和服务提供者有关的信息,通过服务目录,服务消费者可获取到服务提供者的信息,比如 ip、端口、服务协议等。通过这些信息,服务消费者就可通过 Netty 等客户端进行远程调用,可以理解成Invoker的列表抽象类 AbstractDirectory ,有两个子类St...原创 2020-01-13 14:19:58 · 195 阅读 · 0 评论 -
Dubbo源码分析7之服务调用过程
Dubbo源码分析7之服务调用过程1. 简介在前面的文章中,我们分析了 Dubbo SPI、服务导出与引入、以及集群容错方面的代码。经过前文的铺垫,本篇文章我们终于可以分析服务调用过程了。Dubbo 服务调用过程比较复杂,包含众多步骤,比如发送请求、编解码、服务降级、过滤器链处理、序列化、线程派发以及响应请求等步骤。限于篇幅原因,本篇文章无法对所有的步骤一一进行分析。本篇文章将会重点分析请求的...原创 2020-01-13 14:18:32 · 222 阅读 · 0 评论 -
Dubbo源码分析6之负载均衡
Dubbo源码分析6之负载均衡1.简介LoadBalance 中文意思为负载均衡,它的职责是将网络请求,或者其他形式的负载“均摊”到不同的机器上。避免集群中部分服务器压力过大,而另一些服务器比较空闲的情况。通过负载均衡,可以让每台服务器获取到适合自己处理能力的负载。在为高负载服务器分流的同时,还可以避免资源浪费,一举两得。负载均衡可分为软件负载均衡和硬件负载均衡。在我们日常开发中,一般很难接触...原创 2020-01-13 08:48:07 · 122 阅读 · 0 评论 -
Dubbo源码分析5之服务目录
1. 简介本篇文章,将开始分析 Dubbo 集群容错方面的源码。集群容错源码包含四个部分,分别是服务目录 Directory、服务路由 Router、集群 Cluster 和负载均衡 LoadBalance。这几个部分的源码逻辑相对比较独立,我们将会分四篇文章进行分析。本篇文章作为集群容错的开篇文章,将和大家一起分析服务目录相关的源码。在进行深入分析之前,我们先来了解一下服务目录是什么。服务目录...原创 2020-01-13 08:47:00 · 160 阅读 · 0 评论 -
Dubbo源码分析4之服务引用
此文转自 原文 ,在最后做了一点补充目录1.简介2.服务引用原理3.源码分析3.1 处置配置3.2 引用服务3.2.1 创建 Invoker3.2.2 创建代理4.总结补充服务引用调用链1.简介在 Dubbo 中,我们可以通过两种方式引用远程服务。第一种是使用服务直连的方式引用服务,第二种方式是基于注册中心进行引用。服务直连的方式仅适合在调试或测试服务的场景下使用,不适合...原创 2020-01-13 08:45:43 · 302 阅读 · 0 评论 -
Dubbo源码分析3之服务发布
1.服务发布概述Dubbo 服务导出过程始于 Spring 容器发布刷新事件[dubbo:service --> ServiceBean --> onApplicationEvent(ContextRefreshedEvent event)],在接收到ContextRefreshedEvent 事件后执行服务导出逻辑。整个逻辑大致可分为三个部分:第一部分是前置工作,主要用于检查参...原创 2020-01-12 08:04:47 · 367 阅读 · 0 评论 -
Dubbo源码分析2之SPI自适应扩展Adaptive原理
目录原理概述为什么设计@Adaptive注解dubbo源码中哪些地方什么时候使用到了,具体如何体现@Adaptive扩展加载过程源码分析总结原理概述首先看以下官网的关于自适应扩展的描述:在 Dubbo 中,很多拓展都是通过 SPI 机制进行加载的,比如 Protocol、Cluster、LoadBalance 等。有时,有些拓展并不想在框架启动阶段被加载,而是希望在拓展方法被调...原创 2020-01-12 08:02:12 · 306 阅读 · 0 评论 -
dubbo源码分析1之SPI原理以及IOC和AOP原理
1.Dubbo SPI是什么首先看下dubbo官网的描述:SPI 全称为 Service Provider Interface,是一种服务发现机制。SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类。正因此特性,我们可以很容易的通过 SPI 机制为我们的程序提供拓展功能。SPI 机制在第三方框架中也有所应用,比如 ...原创 2020-01-12 08:00:27 · 430 阅读 · 0 评论