首页
方向
C++
Go
PHP
Lua
Java
Node.js
数据库
Redis
SQLite
MySQL
MariaDB
MongoDB
Memcached
源码
Dubbo
Tomcat
RocketMQ
ZooKeeper
RabbitMQ
其他
JSP
Scala
Groovy
Google GSON
测试
工具
Ant
Git
SVN
JUnit
Maven
Nginx
Gradle
Swagger
烦扰
随记
标签
邻居
留言板
关于
图片墙
免责声明
壁纸
熊猫压缩webp
多功能图片转换器
1
腾讯云推广
2
uni-halo开源啦
3
专栏汇总:Dubbo 源码分析
4
九、Dubbo 源码分析 – 服务调用过程
5
八、Dubbo 源码分析 – 集群容错之 LoadBalance
云少
累计撰写
869
篇文章
累计创建
55
个标签
累计收到
25
条评论
栏目
首页
方向
C++
Go
PHP
Lua
Java
Node.js
数据库
Redis
SQLite
MySQL
MariaDB
MongoDB
Memcached
源码
Dubbo
Tomcat
RocketMQ
ZooKeeper
RabbitMQ
其他
JSP
Scala
Groovy
Google GSON
测试
工具
Ant
Git
SVN
JUnit
Maven
Nginx
Gradle
Swagger
烦扰
随记
标签
邻居
留言板
关于
图片墙
免责声明
壁纸
熊猫压缩webp
多功能图片转换器
搜索
标签搜索
dubbo
Zookeeper
Swing
Go
Lua
Node.js
轻松一刻
Google GSON
SpringMvc
SpringBoot
SpringCloud
Swagger
Gradle
Nginx
专栏
IDEA
Maven
eclipse
Ant
JUnit
SVN
MacOS.
Linux
win
Git
InnoDB
Python
Perl
C
SQLite
MariaDB
MySQL
Bug
语法
Scala
Groovy
DeBug
JSP
简介
设计模式
扩展
安装
工具
NoSQL
Mongodb
Memcached
PHP
Redis
算法
优化
JVM
Java9
Java8
面试
Java并发
目 录
CONTENT
以下是
Dubbo
相关的文章
2022-09-12
专栏汇总:Dubbo 源码分析
专栏汇总:Dubbo 源码分析九、Dubbo 源码分析 – 服务调用过程八、Dubbo 源码分析 – 集群容错之 LoadBalance七、Dubbo 源码分析 – 集群容错之 Cluster六、Dubbo 源码分析 – 集群容错之 Router五、Dubbo 源码分析 – 集群容错之Directory四、Dubbo 源码分析 – 服务引用三、Dubbo 源码分析 – 服务导出二、Dubbo 源码分析 – 自适应拓展原理一、Dubbo 源码分析 – SPI 机制
2022-09-12
665
0
0
Dubbo
2022-09-12
九、Dubbo 源码分析 – 服务调用过程
九、Dubbo 源码分析 – 服务调用过程1. 简介在前面的文章中,我们分析了 Dubbo SPI、服务导出与引入、以及集群容错方面的代码。经过前文的铺垫,本篇文章我们终于可以分析服务调用过程了。Dubbo 服务调用过程比较复杂,包含众多步骤。比如发送请求、编解码、服务降级、过滤器链处理、序列化、线程派发以及响应请求等步骤。限于篇幅原因,本篇文章无法对所有的步骤一一进行分析。本篇文章将会重点分析请求的发送与接收、编解码、线程派发以及响应的发送与接收等过程,至于服务降级、过滤器链和序列化大家自行进行分析,也可以将其当成一个黑盒,暂时忽略也没关系。介绍完本篇文章要分析的内容,接下来我们进入正题吧。
2022-09-12
480
0
1
Dubbo
2022-09-12
八、Dubbo 源码分析 – 集群容错之 LoadBalance
八、Dubbo 源码分析 – 集群容错之 LoadBalance1.简介LoadBalance 中文意思为负载均衡,它的职责是将网络请求,或者其他形式的负载“均摊”到不同的机器上。避免集群中部分服务器压力过大,而另一些服务器比较空闲的情况。通过负载均衡,可以让每台服务器获取到适合自己处理能力的负载。在为高负载的服务器分流的同时,还可以避免资源浪费,一举两得。负载均衡可分为软件负载均衡和硬件负载均衡。在我们日常开发中,一般很难接触到硬件负载均衡。但软件负载均衡还是能够接触到一些的,比如 Nginx。在 Dubbo 中,也有负载均衡的概念和相应的实现。Dubbo 需要对服务消费者的调用请求进行分配
2022-09-12
421
0
0
Dubbo
2022-09-12
七、Dubbo 源码分析 – 集群容错之 Cluster
七、Dubbo 源码分析 – 集群容错之 Cluster1.简介为了避免单点故障,现在的应用至少会部署在两台服务器上。对于一些负载比较高的服务,会部署更多台服务器。这样,同一环境下的服务提供者数量会大于1。对于服务消费者来说,同一环境下出现了多个服务提供者。这时会出现一个问题,服务消费者需要决定选择哪个服务提供者进行调用。另外服务调用失败时的处理措施也是需要考虑的,是重试呢,还是抛出异常,亦或是只打印异常等。为了处理这些问题,Dubbo 定义了集群接口 Cluster 以及及 Cluster Invoker。集群 Cluster 用途是将多个服务提供者合并为一个 Cluster Invoker
2022-09-12
405
0
0
Dubbo
2022-09-12
六、Dubbo 源码分析 – 集群容错之 Router
六、Dubbo 源码分析 – 集群容错之 Router1. 简介上一篇文章分析了集群容错的第一部分 – 服务目录 Directory。服务目录在刷新 Invoker 列表的过程中,会通过 Router 进行服务路由。上一篇文章关于服务路由相关逻辑没有细致分析,一笔带过了,本篇文章将对此进行详细的分析。首先,先来介绍一下服务目录是什么。服务路由包含一条路由规则,路由规则决定了服务消费者的调用目标,即规定了服务消费者可调用哪些服务提供者。Dubbo 目前提供了三种服务路由实现,分别为条件路由 ConditionRouter、脚本路由 ScriptRouter 和标签路由 TagRouter。其中条
2022-09-12
425
0
0
Dubbo
2022-09-12
五、Dubbo 源码分析 – 集群容错之Directory
五、Dubbo 源码分析 – 集群容错之Directory1. 简介前面文章分析了服务的导出与引用过程,从本篇文章开始,我将开始分析 Dubbo 集群容错方面的源码。这部分源码包含四个部分,分别是服务目录 Directory、服务路由 Router、集群 Cluster 和负载均衡 LoadBalance。这几个部分的源码逻辑比较独立,我会分四篇文章进行分析。本篇文章作为集群容错的开篇文章,将和大家一起分析服务目录相关的源码。在进行深入分析之前,我们先来了解一下服务目录是什么。服务目录中存储了一些和服务提供者有关的信息,通过服务目录,服务消费者可获取到服务提供者的信息,比如 ip、端口、服务协
2022-09-12
360
0
0
Dubbo
2022-09-11
四、Dubbo 源码分析 – 服务引用
四、Dubbo 源码分析 – 服务引用1. 简介在上一篇文章中,我详细的分析了服务导出的原理。本篇文章我们趁热打铁,继续分析服务引用的原理。在 Dubbo 中,我们可以通过两种方式引用远程服务。第一种是使用服务直联的方式引用服务,第二种方式是基于注册中心进行引用。服务直联的方式仅适合在调试或测试服务的场景下使用,不适合在线上环境使用。因此,本文我将重点分析通过注册中心引用服务的过程。从注册中心中获取服务配置只是服务引用过程中的一环,除此之外,服务消费者还需要经历 Invoker 创建、代理类创建等步骤。这些步骤,我将在后续章节中一一进行分析。2.服务引用原理Dubbo 服务引用的时机有两个,第
2022-09-11
361
0
0
Dubbo
2022-09-11
三、Dubbo 源码分析 – 服务导出
三、Dubbo 源码分析 – 服务导出1.服务导出过程本篇文章,我们来研究一下 Dubbo 导出服务的过程。Dubbo 服务导出过程始于 Spring 容器发布刷新事件,Dubbo 在接收到事件后,会立即执行服务导出逻辑。整个逻辑大致可分为三个部分,第一是前置工作,主要用于检查参数,组装 URL。第二是导出服务,包含导出服务到本地 (JVM),和导出服务到远程两个过程。第三是向注册中心注册服务,用于服务发现。本篇文章将会对这三个部分代码进行详细的分析,在分析之前,我们先来了解一下服务的导出过程。Dubbo 支持两种服务导出方式,分别延迟导出和立即导出。延迟导出的入口是 ServiceBean
2022-09-11
91
0
0
Dubbo
2022-09-11
二、Dubbo 源码分析 – 自适应拓展原理
二、Dubbo 源码分析 – 自适应拓展原理1.原理我在上一篇文章中分析了 Dubbo 的 SPI 机制,Dubbo SPI 是 Dubbo 框架的核心。Dubbo 中的很多拓展都是通过 SPI 机制进行加载的,比如 Protocol、Cluster、LoadBalance 等。有时,有些拓展并非想在框架启动阶段被加载,而是希望在拓展方法被调用时,根据运行时参数进行加载。这听起来有些矛盾。拓展未被加载,那么拓展方法就无法被调用(静态方法除外)。拓展方法未被调用,就无法进行加载,这似乎是个死结。不过好在也有相应的解决办法,通过代理模式就可以解决这个问题,这里我们将具有代理功能的拓展称之为自适应拓
2022-09-11
80
0
0
Dubbo
2022-09-11
一、Dubbo 源码分析 – SPI 机制
一、Dubbo 源码分析 – SPI 机制1.简介SPI 全称为 Service Provider Interface,是一种服务发现机制。SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口 加载实现类。正因此特性,我们可以很容易的通过 SPI 机制为我们的程序提供拓展功能。SPI 机制在第三方框架中也有所应用,比如 Dubbo 就是通过 SPI 机制加载所有的组件。不过,Dubbo 并未使用 Java 原生的 SPI 机制,而是对其进行了增强,使其能够更好的满足需求。在 Dubbo 中,SPI 是一个非常重要的模块。如果大
2022-09-11
65
0
0
Dubbo