接口服務層(Service):該層與業務邏輯相關,根據 provider 和 consumer 的
業務設計對應的接口和實現
配置層(Config):對外配置接口,以 ServiceConfig 和 ReferenceConfig 為
中心
服務代理層(Proxy):服務接口透明代理,生成服務的客戶端 Stub 和 服務端
的 Skeleton,以 ServiceProxy 為中心,擴展接口為 ProxyFactory
服務注冊層(Registry):封裝服務地址的注冊和發現,以服務 URL 為中心,
擴展接口為 RegistryFactory、Registry、RegistryService
路由層(Cluster):封裝多個提供者的路由和負載均衡,並橋接注冊中心,以
Invoker 為中心,擴展接口為 Cluster、Directory、Router 和 LoadBlancce
監控層(Monitor):RPC 調用次數和調用時間監控,以 Statistics 為中心,擴
展接口為 MonitorFactory、Monitor 和 MonitorService
遠程調用層(Protocal):封裝 RPC 調用,以 Invocation 和 Result 為中心,
擴展接口為 Protocal、Invoker 和 Exporter
信息交換層(Exchange):封裝請求響應模式,同步轉異步。以 Request 和
Response 為中心,擴展接口為 Exchanger、ExchangeChannel、
ExchangeClient 和 ExchangeServer
網絡傳輸層(Transport):抽象 mina 和 netty 為統一接口,以 Message 為
中心,擴展接口為 Channel、Transporter、Client、Server 和 Codec
數據序列化層(Serialize):可復用的一些工具,擴展接口為 Serialization、
ObjectInput、ObjectOutput 和 ThreadPool