【dubbo之模組詳講】

我是太陽啦啦啦發表於2018-01-14

前言

之前在總體的方式上對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

FixedThreadPool  Hessian2Serializatio

總結
下篇部落格來總結dubbo在專案中的應用,感謝博主的分享!

相關文章