Dubbo
YupyMan
热爱编程,享受生活
展开
-
Dubbo远程通信模块简析
dubbo-remoting 模块整体结构设计服务治理框架 大致可分为 “服务通信” 和 “服务管理” 两部分,前面我们分析了有关注册中心的源码,也就是服务管理,接下来要分析的就是跟服务通信有关的源码,也就是远程通讯模块。该模块中提供了多种客户端和服务端通信的功能,而在对NIO框架选型上,dubbo交由用户选择,它集成了mina、netty、grizzly等各类NIO框架来搭建NIO服务器和客户端,并且利用dubbo的SPI扩展机制可以让用户自定义选择。dubbo-remoting的工程结构如下。du原创 2020-05-24 12:49:04 · 1692 阅读 · 0 评论 -
Dubbo 负载均衡模块 源码赏析
Dubbo 负载均衡简介负载均衡,无论在常用的中间件 及 框架中,还是现实生活中,都有所体现。比如,一个团队干活,老大肯定要尽可能把任务均匀合理地分下去,让整个团队能高速运转,能力强的多分点,能力弱的少分点,绝对不能去逮着一个人 让他累到死,让其它人闲着。这样的均匀分配任务及压力的思想 放在开发领域 即是“负载均衡”。它就相当于是一个压力均衡机制,通过各种策略,为集群中的每台服务器合理地分配压力...原创 2020-05-12 22:46:39 · 837 阅读 · 0 评论 -
Dubbo注册中心模块 源码赏析
注册中心在Dubbo中的作用服务治理框架可以大致分为 服务通信 和 服务管理 两部分,服务管理可以分为服务注册、服务订阅以及服务发现,服务提供者Provider 会往注册中心注册服务,而消费者Consumer 会从注册中心中订阅自己关注的服务,并在关注的服务发生变更时 得到注册中心的通知。Provider、Consumer以及Registry之间的依赖关系 如下图所示。dubbo-regis...原创 2020-04-19 15:27:20 · 1163 阅读 · 0 评论 -
Dubbo源码赏析之 SPI
JDK的SPI思想SPI,即Service Provider Interface。在面向对象的设计里面,模块之间推荐基于接口编程,而不是对实现类进行硬编码,这样做也是为了模块设计的可拔插原则。比较典型的应用,如 JDBC,Java 定义了一套 JDBC 的接口,但是 Java 本身并不提供对 JDBC 的实现类,而是开发者根据项目的 ,要使用 jdbc 接口的哪些实现类呢?一般来说,我们要...原创 2020-04-15 22:15:31 · 796 阅读 · 0 评论 -
Dubbo 架构设计
首先从GitHub 上 down下来Dubbo项目,我们根据里面的目录名 也能大概猜出来各个模块的作用。dubbo-common公共逻辑模块,定义了各模块中 通用的 组件 和 工具类,如:IO、日志、配置处理等。dubbo-rpc分布式协调服务框架的核心,该模块定义了 RPC相关的组件,包括 服务发布、服务调用代理、远程调用结果、RPC调用网络协议,RPC调用监听器和过滤器等等。该模块...原创 2020-04-15 19:57:49 · 190 阅读 · 0 评论