新特性
- 1、核心模塊重度重構(gòu):模塊化劃分、包名重構(gòu);
- 2、輕量級/模塊化改造:移除對具體組件的依賴,如ZK、Netty、Mina等,改為可選擴(kuò)展方式;
- 3、支持多種請求方式,如:SYNC、ONEWAY、FUTURE、CALLBACK 等;
- 4、各模塊擴(kuò)展改為非強(qiáng)制依賴:擴(kuò)展依賴需要單獨(dú)進(jìn)行 maven 引入(provided類型);提供強(qiáng)制依賴最小精簡選型組合 "jetty + hessian + 無注冊中心";
- 5、服務(wù)AccessToken鑒權(quán);
- 6、支持HTTP異步請求,線程優(yōu)化,統(tǒng)一通訊流程;
- 7、可選ZK注冊中心重構(gòu),不依賴配置文件,通過代碼初始化;
- 8、可選ZK注冊中心初始化邏輯優(yōu)化,避免并發(fā)初始化,阻塞至TCP連接創(chuàng)建成功才允許后續(xù)操作;
- 9、推送core到maven中央倉庫;
- 10、服務(wù)注冊邏輯優(yōu)化,舊方案以 "iface" 接口包名進(jìn)行服務(wù)注冊, 改為結(jié)合 "iface + version" 作為 serviceKey 進(jìn)行注冊,便于接口多服務(wù)復(fù)用;
簡介
XXL-RPC 是一個(gè)分布式服務(wù)通訊框架,提供穩(wěn)定高性能的RPC遠(yuǎn)程服務(wù)調(diào)用功能。現(xiàn)已開放源代碼,開箱即用。

輸入圖片說明
特性
- 1、快速接入:接入步驟非常簡潔,兩分鐘即可上手;
- 2、服務(wù)透明:系統(tǒng)完整的封裝了底層通信細(xì)節(jié),開發(fā)時(shí)調(diào)用遠(yuǎn)程服務(wù)就像調(diào)用本地服務(wù),在提供遠(yuǎn)程調(diào)用能力時(shí)不損失本地調(diào)用的語義簡潔性;
- 3、多調(diào)用方案:支持 SYNC、ONEWAY、FUTURE、CALLBACK 等方案;
- 4、多通訊方案:支持 TCP 和 HTTP 兩種通訊方式進(jìn)行服務(wù)調(diào)用;其中 TCP 提供可選方案 NETTY 或 MINA ,HTTP 提供可選方案 Jetty;
- 5、多序列化方案:支持 HESSIAN、HESSIAN1、PROTOSTUFF、JSON 等方案;
- 6、注冊中心:可選組件,支持服務(wù)注冊并動態(tài)發(fā)現(xiàn);未啟用注冊中心時(shí),支持直接指定服務(wù)提供方機(jī)器地址通訊;原生提供 local 與 zookeeper 兩種服務(wù)注冊中心可選方案;
- 7、軟負(fù)載均衡及容錯(cuò):服務(wù)提供方集群注冊時(shí),在使用軟負(fù)載算法進(jìn)行流量分發(fā);
- 8、容錯(cuò):服務(wù)提供方集群注冊時(shí),某個(gè)服務(wù)節(jié)點(diǎn)不可用時(shí)將會自動摘除,同時(shí)消費(fèi)方將會移除失效節(jié)點(diǎn)將流量分發(fā)到其余節(jié)點(diǎn),提高系統(tǒng)容錯(cuò)能力。
- 9、解決1+1問題:傳統(tǒng)分布式通訊一般通過nginx或f5做集群服務(wù)的流量負(fù)載均衡,如hessian,每次請求在到達(dá)目標(biāo)服務(wù)機(jī)器之前都需要經(jīng)過負(fù)載均衡機(jī)器,即1+1,這將會把流量放大一倍。而XXL-RPC將會從消費(fèi)方直達(dá)服務(wù)提供方,每次請求直達(dá)目標(biāo)機(jī)器,從而可以避免上述問題;
- 10、服務(wù)治理:提供服務(wù)治理中心,可在線管理注冊的服務(wù)信息,如管理服務(wù)節(jié)點(diǎn)、節(jié)點(diǎn)權(quán)重等;(計(jì)劃中)
- 11、服務(wù)監(jiān)控:可在線監(jiān)控服務(wù)調(diào)用統(tǒng)計(jì)信息以及服務(wù)健康狀況等(計(jì)劃中);