天天看點

【dubbo之子產品詳講】

前言

之前在總體的方式上對dubbo有個總體的認識,在開發的過程中,也用了dubbo,并且是dubbo+zk完成了遠端調用,本篇部落客要來講解一下dubbo的各個子產品.

核心

Config配置層

子產品

dubbo-config

作用

負責所有dubbo相關的xml配置和注釋轉換為config對象

Api配置的對象類,用于生成對應的register,protocol

核心類

ServiceBean         ReferenceBean(對應<dubbo:service/><dubbo:reference/>)

ProtocolConfig      RegisterConfig(<dubbo:protocol/><dubbo:register/>)

Proxy服務代理層

子產品

dubbo-rpc

作用

負責生成消費者的代理對象,以及服務提供方的Invoke.

核心類

ProxyFactory接口實作的2種實作JdkProxyFactory    javassistProxyFactory

Resigstry注冊中心層

子產品

dubbo-registry

作用

負責服務注冊與查詢服務,以及注冊服務的本地緩存

支援多種協定注冊發現服務,例如redis  zookeeper  Multicast

Cluster路由層

子產品

dubbo-cluster

作用

負責負載均衡的政策,以及失敗政策

預設設定:RandomLoadBalance,FailoverCluster

支援輪詢,随機,一緻性哈希等負載均衡政策

核心類

接口LoadBalance  Cluster

RandomLoadBalance 以及RoundRobinLoadBalance等

Monitor監控層

子產品

dubbo-monitor

作用

RPC調用次數和調用時間監控

dubbo-simple下面的dubbo-monitor-simple提供了簡單的控制台

核心類

核心類DubboMonitor Statistics

Protocol遠端調用層

子產品

dubbo-rpc

作用

封裝RPC調用,支援多種RPC協定,不包含IO通信部分

支援RMI  Hessian  Http  Webservice thrift等

核心類

接口Protocol Exporter Invoker

DubboProtocol  DubboInvolker   DubboExporter  DubboCodec

Serialize資料序列化層

子產品

dubbo-common

作用

資料序列化層和可複用的一些工具,包括序列化線程池等

dubbo協定預設為hessian2,rmi協定預設為java,http協定預設為json

核心類

接口ThreadPool  Serialization

繼續閱讀