Motan源碼閱讀--工程概述

工程概述

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做爲註冊中心。

相關文章
相關標籤/搜索