文章目錄
- 1.架構設計
- 2.标簽解析
- 3.服務暴露
- 4.服務引用
- 5.服務調用
- 6.netty的架構
1.架構設計
config 配置層:對外配置接口,以 ServiceConfig, ReferenceConfig 為中心,可以直接初始化配置類,也可以通過 spring 解析配置生成配置類
proxy 服務代理層:服務接口透明代理,生成服務的用戶端 Stub 和伺服器端 Skeleton, 以 ServiceProxy 為中心,擴充接口為 ProxyFactory
registry 注冊中心層:封裝服務位址的注冊與發現,以服務 URL 為中心,擴充接口為 RegistryFactory, Registry, RegistryService
cluster 路由層:封裝多個提供者的路由及負載均衡,并橋接注冊中心,以 Invoker 為中心,擴充接口為 Cluster, Directory, Router, LoadBalance
monitor 監控層:RPC 調用次數和調用時間監控,以 Statistics 為中心,擴充接口為 MonitorFactory, Monitor, MonitorService
protocol 遠端調用層:封裝 RPC 調用,以 Invocation, Result 為中心,擴充接口為 Protocol, Invoker, Exporter
exchange 資訊交換層:封裝請求響應模式,同步轉異步,以 Request, Response 為中心,擴充接口為 Exchanger, ExchangeChannel, ExchangeClient, ExchangeServer
transport 網絡傳輸層:抽象 mina 和 netty 為統一接口,以 Message 為中心,擴充接口為 Channel, Transporter, Client, Server, Codec
serialize 資料序列化層:可複用的一些工具,擴充接口為 Serialization, ObjectInput, ObjectOutput, ThreadPool