工程概述
Motan框架採用模塊化設計,使用按需加載,模塊有:spring
- motan-core:motan核心框架
- motan-transport-netty:基於Netty協議的長連接傳輸協議
- motan-registry-consul:consul服務發現組件
- motan-registry-zookeeper:zk服務發現組件
- motan-springsupport:spring標籤解析相關組件
默認配置
protocol協議默認爲motan,基於hessian2實現。服務器
負載均衡默認爲activeWeight,低併發度優先,refer的某個時刻call的數量越小優先級越高。併發
容錯策略默認爲failover,失敗自動切換,當出現失敗,重試其餘服務器。 Failfast快速失敗,只發起一次調用,失敗當即報錯。負載均衡
配置服務端工做線程數。 配置客戶端爲每一個服務創建的鏈接數。框架
註冊中心motan:registry
包含如下屬性:模塊化
- Name:標識配置名稱;
- regProtocol:標識註冊中心協議
- Address:標識註冊中心地址
服務提供方motan:service
經常使用屬性:線程
- Interface:標識服務的接口類名
- Ref:標識服務的實現類,引用具體的spring業務實現對象
- Export:標識服務的暴露方式,格式爲「protocolId:port」,其中protocolId:應對motan:protocol中的id
- Group:標識服務的分組
- Module:標識模塊信息
- basicService:標識使用基本配置
Motan在註冊中心的服務以group形式保存的,通常推薦一個分組以機房+業務線進行命名,如rf-user-rpc。
設計
調用方motan:referer
經常使用屬性:netty
- Id:標識配置項
- Group:標識服務分組
- Module:標識模塊信息
- protocol:標識referer使用的協議
- registry:標識referer的註冊中心
- basicReferer:標識使用的基本配置
優雅停機
Motan支持consul,zk集羣環境下優雅關閉節點,當須要關閉或重啓節點時,能夠先將待上線節點從集羣摘除,避免直接關閉影響正常請求。對象
管理後臺
後臺包括RPC服務查詢,流量切換,Motan指令設置等功能,需使用zk做爲註冊中心。