Dubbo源码分析 - 远程通信模块总览

dubbo-remoting 模块提供了多种客户端和服务端通信的功能,该模块内部可以再划分为 Transport 传输层和 Exchange 信息交换层,Transport 层只负责单向消息传输,是对 Mina, Netty 等网络传输组件的抽象,它也可以扩展 UDP 传输,而 Exchange 层

Dubbo-负载均衡

负载均衡本文介绍了负载均衡的原理和实现细节1.简介LoadBalance 中文意思为负载均衡,它的职责是将网络请求,或者其他形式的负载“均摊”到不同的机器上。避免集群中部分服务器压力过大,而另一些服务器比较空闲的情况。通过负载均衡,可以让每台服务器获取到适合自己处理能力的负载。在为高负载服务器分流的

Dubbo-集群

集群本文介绍了集群的原理和实现细节1.简介为了避免单点故障,现在的应用通常至少会部署在两台服务器上。对于一些负载比较高的服务,会部署更多的服务器。这样,在同一环境下的服务提供者数量会大于1。对于服务消费者来说,同一环境下出现了多个服务提供者。这时会出现一个问题,服务消费者需要决定选择哪个服务提供者进

Dubbo-服务目录

1. 简介本篇文章,将开始分析 Dubbo 集群容错方面的源码。集群容错源码包含四个部分,分别是服务目录 Directory、服务路由 Router、集群 Cluster 和负载均衡 LoadBalance。这几个部分的源码逻辑相对比较独立,我们将会分四篇文章进行分析。本篇文章作为集群容错的开篇文章

服务端线程模型

Dubbo 服务提供端端线程池模型和用法Dubbo协议的和Triple协议目前的线程模型还并没有对齐,下面分开介绍Triple协议和Dubbo协议的线程模型。Dubbo协议——Provider端线程模型介绍Dubbo协议的Provider端线程模型之前,先介绍Dubbo对channel上的操作抽象成

Dubbo的通信机制

Dubbo的remote模块是远程通信模块,是Dubbo项目处理底层网络通信层。buffer 主要是针对NIO的Buffer做了一些封装。exchange 信息交换层,这也是整个通信过程的核心层。Telnet 主要是针对Telnet提供编解码转换。transport 网络传输层,抽象Mina和Net

一些设计思考

1、单个模块对外提供使用接口,屏蔽实现细节。2、模块直接的编排首先通过构建对象时将各个模块的依赖关系确定,而不是在调用过程中。具体调用过程中只需要调用对应的模块暴露的API/SPI