首页  

dubbo功能模块介绍     所属分类 dubbo 浏览量 1391
Config 配置    ServiceConfig  ReferenceConfig 等
Proxy 服务代理   
Registry 注册   封装服务注册和发现
Cluster 集群 路由 容错  负载均衡等  
Monitor 监控  统计调用耗时和次数
Protocol 远程调用协议  封装 RPC 调用  , invoker 
Exchange 信息交换     封装请求响应模式,同步转异步,以 Request, Response 为中心
Transport 网络传输    封装 netty  mina 等 框架 ,以 Message 为中心
Serialize 序列化


服务提供者启动,根据协议信息绑定到配置的IP和端口上 
注册服务信息至注册中心
客户端启动,根据接口和协议信息订阅注册中心中注册的服务,注册中心将存活的服务地址通知到客户端,当有服务信息变更时客户端可以通过定时通知得到变更信息
在客户端需要调用服务时,从内存中拿到上次通知的所有存活服务地址,根据路由信息和负载均衡机制选择最终调用的服务地址,发起调用
通过filter分别在客户端发送请求前和服务端接收请求后,通过异步记录一些需要的信息传递到monitor做监控或者统计 

Monitor一般用于监控和统计RPC调用情况、成功率、失败率等情况


dubbo-config 配置

把dubbo xml和注解配置转换为config对象 ( dubbo.xsd )
register,protocol等 

ServiceBean、ReferenceBean ( dubbo:service  dubbo:reference)
ProtocolConfig、RegisterConfig (dubbo:protocol  dubbo:register)

dubbo-rpc Proxy 服务代理

负责生成消费者的代理对象,以及服务提供方的Invoke
ProxyFactory接口的2种实现 JdkProxyFactory JavassistProxyFactory

dubbo-registry Registry注册中心

负责服务注册与查询服务,以及注册服务的本地缓存
支持多种协议注册发现服务,例如redis zookeeper Multicast

接口 RegistryFactory Registry
AbstractRegistry 以及 ZookeeperRegistry ZookeeperRegistryFactory



dubbo-cluster Cluster 路由
负载均衡策略,失败策略
缺省设置 RandomLoadBalance FailoverCluster
支持轮询、随机、一致性哈希 最少活跃连接数 等负载均衡策略
接口 LoadBalance Cluster
RandomLoadBalance  RoundRobinLoadBalance LeastActiveLoadBalance ConsistentHashLoadBalance

dubbo-monitor Monitor监控
RPC调用次数和调用时间监控
dubbo-monitor-simple 提供简单的控制台
核心类DubboMonitor Statistics

dubbo-rpc Protocol远程调用协议
封将RPC调用、支持多种RPC协议,不包含IO通信部分
支持RMI Hessian Http Webservice thrift等rpc调用方式

接口 Protocol Exporter Invoker
DubboProtocol、DubboInvoker、DubboExporter、DubboCodec

dubbo-remoting Exchange信息交换层
封装请求响应模式,同步转异步
处理各种协议的通信请求,支持netty、mina、http等
默认采用Netty进行通信
接口 Serve Channe Client  NettyClient、NettyServer

dubbo-common Serialize 序列化
数据序列化层和可复用的一些工具,包括序列化线程池等
dubbo协议缺省为hessian2,rmi协议缺省为java,http协议缺省为json

ThreadPool Serialization
FixedThreadPool  Hessian2Serialization



Xml配置与代码配置

生产者 
dubbo:register       RegisterConfig
dubbo:application    ApplicationConfig
dubbo:protocol       ProtocolConfig
dubbo:service        ServiceConfig

消费者 
dubbo:register       RegisterConfig
dubbo:application    ApplicationConfig
dubbo:reference      ReferenceConfig

上一篇     下一篇
代理的几种实现方式

RPC原理简介

mybatis知识点

网站架构演变过程

redis消息发布与订阅

Redis客户端 Jedis Redisson Lettuce 对比