Dubbo系列-1.概览

原创 2017年07月12日 19:27:25

学习rpc和服务化的东西,公司的rpc框架代码看完之后,发现在扩展性方面做得不够完美,学习下Dubbo的源码。

架构

架构

Provider: 服务提供方。
Consumer: 服务消费方。
Registry: 注册中心。
Monitor: 监控中心。
Container: 服务运行容器。

总体流程:提供方在启动后,向注册中心,注册自己提供的服务(provider),同时订阅服务的变动,消费方订阅服务本地缓存服务列表,同时注册listen(监听服务变动),后期直接从本地缓存列表select,远程rpc调用提供者的服务,在这些过程中会统计数据到监控中心。

框架设计

框架设计

这张图包含Dubbo的所有,很重要。可以说理解这张图,就理解了Dubbo,我是把这个图做成了桌面背景,闲来就看几眼加深记忆。后续的系列会针对这张图详解。

包结构

包结构

  • dubbo-admin 服务管理平台。
  • dubbo-cluster 集群模块,将多个服务提供方伪装为一个提供方,包括:负载均衡, 容错,路由等,集群的地址列表可以是静态配置的,也可以是由注册中心下发。
  • dubbo-common 公共逻辑模块,包括Util类和通用模型。
  • dubbo-config 配置模块,是Dubbo对外的API,用户通过Config使用Dubbo,隐藏Dubbo所有细节。
  • dubbo-container 容器模块,是一个Standlone的容器,以简单的Main加载Spring启动,因为服务通常不需要Tomcat/JBoss等Web容器的特性,没必要用Web容器去加载服务。
  • dubbo-filter 我下的版本的源码包,这个包下只有缓存和校验的filter,应该是后期扩展的,Dubbo还有其他filter,如timeoutfilter,monitorfilter,这些放在rpc包下了。
  • dubbo-monitor 监控模块,统计服务调用次数,调用时间的,调用链跟踪的服务。
  • dubbo-registry 注册中心模块,基于注册中心下发地址的集群方式,以及对各种注册中心的抽象。
  • dubbo-remoting 远程通讯模块,相当于Dubbo协议的实现,如果RPC用RMI协议则不需要使用此包。
  • dubbo-rpc 远程调用模块,抽象各种协议,以及动态代理,只包含一对一的调用,不关心集群的管理。

参考:

这2个指南,最好过一遍,看看Dubbo的future。
1. http://dubbo.io/User+Guide-zh.htm Dubbo用户指南
2. http://dubbo.io/Developer+Guide-zh.htm Dubbo开发指南

Flink流计算编程--Flink扩容、程序升级前后的思考

Flink 扩容
  • lmalds
  • lmalds
  • 2017年06月23日 18:00
  • 601

linux rm -rf * 文件恢复记

周海汉/文 2013.9.12 手太快,肠子都毁清了。本来是删除一个文件 rm path/myfile.txt 结果不知为何加了个*,变成了 rm path/myfile.txt * 赶紧ls,发现...

dubbo教程系列1

入门背景随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。 单一应用架构当网站流量很小时,只需一...

dubbo原理系列1-服务端暴露过程

基础要求: 1 使用dubbo开发过项目 2 了解spring的NamespaceHandler Now,进入主题吧。一般dubbo暴露服务的配置如下 ...

Dubbo源码分析系列1---Dubbo异步通信

1、client一个线程调用远程接口,生成一个唯一的ID(比如一段随机字符串,UUID等),Dubbo是使用AtomicLong从0开始累计数字。   2、将打包的方法调用信息(如调用的接口名称,...

初识Dubbo 系列之1-Dubbo是什么

Dubbo是阿里巴巴内部的SOA服务化治理方案的核心框架,每天为2000+ 个服务提供3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。Dubbo自2011年开源后,...

初识Dubbo 系列之前传1-Dubbo产生的背景

背景 (#)           随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。 ...

C#.3.0.锐利体验系列课程(1):概览

  • 2010年05月26日 17:40
  • 5.18MB
  • 下载

dubbo原理系列3-consumer调用过程

dubbo客户端实际持有的是服务端的一个代理类,代理类中封装了对服务端接口的调用流程。 客户端持有服务端代理类com.alibaba.dubbo.common.bytecode.proxy17@722...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Dubbo系列-1.概览
举报原因:
原因补充:

(最多只允许输入30个字)