XXL-RPC v1.3.1,分佈式服務框架

Release Notes

  • 一、負載均衡/軟負載:提供豐富的負載均衡策略,包括:輪詢、隨機、LRU、LFU、一致性HASH等;
  • 二、服務發現註冊邏輯優化:支持批量註冊、摘除,升級 xxl-registry 至 v1.0.1;
  • 三、新增jfinal類型示例項目 "xxl-rpc-sample-jfinal" 支持jfinal項目快速接入分佈式RPC服務功能;高兼容性,原則上支持任務框架,甚至main方法直接運行;
  • 四、TCP通信方案Server端Channel線程優化(線程參數=60/300/1000),避免IO線程阻塞於業務;
  • 五、TCP通信方案Client端Channel線程優化(線程參數=10/100/1000),避免IO線程阻塞於callback業務;
  • 六、TCP通信方案Client初始化邏輯優化;
  • 七、TCP長連銷燬邏輯優化;
  • 八、底層Log整理,RPC報錯時打印完整Log,包括請求地址,請求參數等;
  • 九、Server端銷燬邏輯優化;
  • 十、static代碼塊優化,進行組件無狀態優化:response factory等;遷移到invoke factory上來;
  • 十一、升級多項pom依賴至較新穩定版本;

簡介

XXL-RPC 是一個分佈式服務框架,提供穩定高性能的RPC遠程服務調用功能。擁有"高性能、分佈式、註冊中心、負載均衡、服務治理"等特性。現已開放源代碼,開箱即用。html

輸入圖片說明

特性

  • 一、快速接入:接入步驟很是簡潔,兩分鐘便可上手;
  • 二、服務透明:系統完整的封裝了底層通訊細節,開發時調用遠程服務就像調用本地服務,在提供遠程調用能力時不損失本地調用的語義簡潔性;
  • 三、多調用方案:支持 SYNC、ONEWAY、FUTURE、CALLBACK 等方案;
  • 四、多通信方案:支持 TCP 和 HTTP 兩種通信方式進行服務調用;其中 TCP 提供可選方案 NETTY 或 MINA ,HTTP 提供可選方案 Jetty;
  • 五、多序列化方案:支持 HESSIAN、HESSIAN一、PROTOSTUFF、JSON 等方案;
  • 六、負載均衡/軟負載:提供豐富的負載均衡策略,包括:輪詢、隨機、LRU、LFU、一致性HASH等;
  • 七、註冊中心:可選組件,支持服務註冊並動態發現;可選擇不啓用,直接指定服務提供方機器地址通信;選擇啓用時,內置可選方案:「XXL-REGISTRY 輕量級註冊中心」(推薦)、「ZK註冊中心」、「Local註冊中心」等;
  • 八、服務治理:提供服務治理中心,可在線管理註冊的服務信息,如服務鎖定、禁用等;
  • 九、服務監控:可在線監控服務調用統計信息以及服務健康情況等(計劃中);
  • 十、容錯:服務提供方集羣註冊時,某個服務節點不可用時將會自動摘除,同時消費方將會移除失效節點將流量分發到其他節點,提升系統容錯能力。
  • 十一、解決1+1問題:傳統分佈式通信通常經過nginx或f5作集羣服務的流量負載均衡,每次請求在到達目標服務機器以前都須要通過負載均衡機器,即1+1,這將會把流量放大一倍。而XXL-RPC將會從消費方直達服務提供方,每次請求直達目標機器,從而能夠避免上述問題;
  • 十二、高兼容性:得益於優良的兼容性與模塊化設計,不限制外部框架;除 spring/springboot 環境以外,理論上支持運行在任何Java代碼中,甚至main方法直接啓動運行;

文檔地址

技術交流

相關文章
相關標籤/搜索