框架设计

参考文档
http://dubbo.apache.org/zh-cn/docs/dev/design.html

整体分为三层

Business

业务逻辑层,只有一层Service
面向接口编程,一个接口,对应一个实现
远程调用,通过调用接口,来调用接口实现

RPC

用于完成远程过程调用,分为很多层

Config

配置层
用于封装配置文件中,解析的一些信息

比如,ReferenceConfig、ServiceConfig
每一个标签,都有对应的Config
来封装标签中的信息

Proxy
服务代理层
利用代理的方式,生成客户端、服务端代理对象
代理对象,可以相互调用方法

Registry
注册中心层
完成注册中心的相关功能

比如,服务的发现、服务的注册
服务提供者,都需要注册到注册中心
服务消费者,都需要从注册中心订阅,所需要的服务

Cluster
路由层
完成负载均衡的相关功能
调用者,需要调用很多的服务
同一个服务,可能冗余部署在多台服务器上
此时,根据负载均衡策略,实现服务调用

Monitor
监控层
每一次的调用信息,都会发送数据,给监控层
监控层,以界面的方式,展示发送的调用数据

Protocol
远程调用层
用于完成远程调用
封装RPC整个调用过程
RPC调用核心Invoker、Protocol、Exporter

Remoting
完成远程通信
远程调用,需要与A、B两台服务器
架起通信管道,通过管道传递数据

Exchange
信息交换层
就是创建一个客户端、一个服务端
两个端,架起管道,进行数据的互联互通

Transport
传输层
传输数据,通过Transport封装传输
Transport底层,是Netty框架

Serialize
序列化层
传输过程中,数据经过序列化,进行网络传输
收到数据,经过反序列化,获取数据对象

颜色标注

Consumer,服务消费者
Provider,服务提供者
Interface,接口
Class,实现类
Inherit,接口之间的继承关系
Init,容器初始化
Call,整个调用过程
Depend,依赖顺序

Dubbo分包

每一层,对应Dubbo的一个分包
选择,Hierarchical方式

查看依赖

依赖关系

这些包,都是单向依赖
上层依赖于下层

Dubbo框架设计原理相关推荐

  1. 官方文档: Dubbo 框架设计、模块说明、依赖关系

    以下内容全文转自 apache 官方 dubbo文档:http://dubbo.apache.org/en-us/docs/dev/design.html 框架设计 图片描述: 浅蓝色背景的左侧区域显 ...

  2. Dubbo 框架设计与源码解读(配置解析优先级、线程分配、负载均衡、容错方案)

    整体框架设计 图例说明: 图中左边淡蓝背景的为服务消费⽅使⽤的接⼝,右边淡绿⾊背景的为服务提供⽅使⽤的接⼝,位于中轴线上的为双⽅都⽤到的接⼝. 图中从下⾄上分为⼗层,各层均为单向依赖,右边的⿊⾊箭头代 ...

  3. MVVM 模型是一种实现双向数据绑定的框架设计原理。

    MVVM(Model View ViewModel) MVVM 是什么? 即是 模型-视图-视图模型,它是一种实现数据双向绑定的模式,是一种框架(VUE)的设计原理. [模型]指的是后端传递的数据. ...

  4. 【niubi-job——一个分布式的任务调度框架】----框架设计原理以及实现

    来自: http://www.cnblogs.com/zuoxiaolong/p/niubi-job-3.html 引言 niubi-job的框架设计是非常简单实用的一套设计,去掉了很多其它调度框架中 ...

  5. dubbo框架设计介绍

    简介 Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成.它提供了三大核心能力:面向接口的远程方法调用,智 ...

  6. 服务器客户端消息设计,详解JavaScript中的客户端消息框架设计原理

    哇--是个危险的题目,对吗?我们对于什么是本质的理解当然会随着我们对要解决问题的理解而变化.因此我不会说谎--一年前我所理解的本质很不幸并不完整,因为我确信我将要写的已经快伴随我有6个月之久.所以,这 ...

  7. Dubbo架构设计详解--转载

    原文地址:http://shiyanjun.cn/archives/325.html Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解 ...

  8. Dubbo架构设计详解

    Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合).从服务模型的角度来看,Dubbo采用的是一种非常简单的模 ...

  9. 分布式 | Dubbo 架构设计详解

    转载自   分布式 | Dubbo 架构设计详解 Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合).从服务 ...

最新文章

  1. php.ini 中开启短标签
  2. SurfaceView的一个小应用:开发示波器
  3. 【学习笔记】高等数据基础
  4. 剑指Offer - 面试题57 - II. 和为s的连续正数序列(滑动窗口)
  5. 到底谁在使用低代码?钉钉低代码用户画像:非IT人员占8成
  6. Word2010双栏中某一处改变为单栏后,无法撤销还原为原来的双栏格式的解决方案
  7. bootstrap3 徽章_尔冬升送张大大金像奖女神徽章,全国仅14枚,网友吐槽:他不值得...
  8. 浏览器输入网址到页面呈现的过程
  9. 团队作业:《构建之法》团队学习心得
  10. YII学习笔记-登录后的session的总结
  11. Python和Java到底有什么区别?
  12. 【工具】中国菜刀 官方原版下载 官网下载链接
  13. 网络协议学习---LLDP协议学习
  14. LOAP引擎:clickhouse 01: 介绍、安装及集群搭建
  15. google 能翻译104个语言 youtube 仅仅不支持其中的15个语言 分别是这些
  16. 你真的了解前端模块化吗?
  17. 分享:你必须知道的H5加速器九大常识!
  18. 802.11ac物理层
  19. Python 小写数字转为大写
  20. JS中设计模式的深入理解

热门文章

  1. 自定义Dictionary支持线程安全
  2. red hat enterprise 6.3 change to chinese
  3. 做外挂小记(3)--C#调用读写内存类篇
  4. hdu 4004 二分查找
  5. C# webBrowser与javascript互调
  6. 正在研究d2010的dcu格式
  7. 关于IAR的一些总结 -- ARM调试和Flash调试的区别
  8. 打印机更换感光鼓单元k_SOHO打印机基础培训(成像原理)
  9. TCP/IP总结(4)TCP 之最大消息长度
  10. cmake (0)简介