Dubbo源码解析—网络调用

2019-12-15
阅读 5 分钟
3.8k
Dubbo网络调用 背景 我们知道Dubbo远程调用(消费过程)的大致流程如下: 从Dirctory中获取该方法的invoker列表 经过router路由的筛选,得到满足条件的invoker列表 经过Cluster容错调用invoker 经过loadBalance筛选出最终执行的invoker 经过消费端的filter链 网络请求及序列化 .....提供者方执行请求,返回结果 用户线程...

Dubbo源码解析——限流

2019-12-14
阅读 2 分钟
4.9k
Dubbo限流 Dubbo的限流作用于提供方。可以在高并发的情况,保证系统的稳定性、安全性。避免让系统被流量压垮,导致整体服务不可用。 实践 提供者添加类似配置 {代码...} 添加filter及dubbo paramter,表示每tps.interval的时间间隔内,能执行tps个请求。 消费方同时发出10个请求 {代码...} 提供方限制流量,多余的请求将...

Dubbo源码分析—SPI扩展

2019-12-09
阅读 3 分钟
2.2k
站在一个框架作者的角度来说,定义一个接口,自己默认给出几个接口的实现类,同时 允许框架的使用者也能够自定义接口的实现。现在一个简单的问题就是:如何优雅的根据一个接口来获取该接口的所有实现类呢?

Dubbo整体架构总结

2019-12-09
阅读 8 分钟
4.6k
​ 在校期间大家都写过不少程序,比如写个hello world服务类,然后本地调用下,如下所示。这些程序的特点是服务消费方和服务提供方是本地调用关系。

Dubbo负载均衡

2019-12-09
阅读 2 分钟
3.1k
接口LoadBalance 的定义说明,LoadBalance 的实现只是在一个服务提供的调用者列表(invokers)中选出一个调用者即可,默认的负载方式是随机负载均衡(@SPI(RandomLoadBalance.NAME)),我们也可以指定使用哪种负载均衡:

Dubbo服务暴露过程

2018-12-09
阅读 14 分钟
9.7k
dubbo暴露服务有两种情况,一种是设置了延迟暴露(比如delay=”5000”),另外一种是没有设置延迟暴露或者延迟设置为-1(delay=”-1”):

dubbo源码解析——Router

2018-11-12
阅读 3 分钟
2.3k
我们先来看看Router的继承体系图从图中可以看出,他有三个实现类,分别是ConditionRouter,MockInvokersSelector,ScriptRouter

dubbo源码解析——cluster

2018-11-10
阅读 17 分钟
2.4k
将 Directory 中的多个 Invoker 伪装成一个 Invoker(伪装过程用到loadBalance),对上层透明,伪装过程包含了容错逻辑,调用失败后,重试另一个。简单来说,就是应对出错情况采取的策略。看看这个接口:该接口有9个实现类,换个角度来说,就是有9中应对策略,本文介绍几个比较常用的策略

dubbo源码解析——Directory

2018-11-10
阅读 7 分钟
2.5k
首先来看一下directory接口的实现类,他主要有两个实现类,一个是StaticDirectory,一个是RegistryDirectory,本文主要解析RegistryDirectory。

dubbo源码解析——服务调用过程

2018-11-10
阅读 10 分钟
4.1k
本文中,将进入消费端源码解析(具体逻辑会放到代码的注释中)。本文先是对消费过程的总体代码逻辑理一遍,个别需要细讲的点,后面会专门的文章进行解析。

dubbo源码解析——概要篇

2018-11-10
阅读 3 分钟
3.1k
这次源码解析借鉴《肥朝》前辈的dubbo源码解析,进行源码学习。总结起来就是先总体,后局部.也就是先把需要注意的概念先抛出来,把整体架构图先画出来.让读者拿着"地图"跟着我的脚步,并且每一步我都提醒,现在我们在哪,我们下一步要做什么,这样才不会迷失方向。

Dubbo知识整理

2018-01-21
阅读 4 分钟
22.1k
Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合),比如表现层和业务层就需要解耦合。