Release Notes
- 1、默認(rèn)通訊方案切換為 Netty,可選方案依賴均調(diào)整為 provided 類型;提供強(qiáng)制依賴最小精簡(jiǎn)選型組合 "netty + hessian + 無注冊(cè)中心(推薦采用:XXL-RPC原生注冊(cè)中心)";
- 2、XXL-RPC原生注冊(cè)中心:底層抽象注冊(cè)中心模塊,并原生提供自研基于DB的注冊(cè)中心,真正實(shí)現(xiàn)開箱即用,更輕量級(jí)、降低第三方依賴;至今XXL-RPC以提供三種注冊(cè)中心具體實(shí)現(xiàn):"XXL-RPC原生注冊(cè)中心方案","ZK方案","Local方案";其中"XXL-RPC原生注冊(cè)中心方案"特性如下:
- 輕量級(jí):基于DB與磁盤文件,只需要提供一個(gè)DB實(shí)例即可,無第三方依賴;
- 實(shí)時(shí)性:借助內(nèi)部廣播機(jī)制,新服務(wù)上線、下線,可以在1s內(nèi)推送給客戶端;
- 數(shù)據(jù)同步:注冊(cè)中心內(nèi)部10s會(huì)全量同步一次磁盤數(shù)據(jù),清理無效服務(wù),確保服務(wù)數(shù)據(jù)實(shí)時(shí)可用;
- 性能:服務(wù)發(fā)現(xiàn)時(shí)僅讀磁盤文件,性能非常高;服務(wù)注冊(cè)、摘除時(shí)通過磁盤文件校驗(yàn),防止重復(fù)注冊(cè)操作;
- 擴(kuò)展性:可方便、快速的橫向擴(kuò)展,只需保證 "xxl-rpc-admin" 配置一致即可,可借助負(fù)載均衡組件如Nginx快速集群部署;
- 多狀態(tài):服務(wù)內(nèi)置三種狀態(tài):正常狀態(tài)=支持動(dòng)態(tài)注冊(cè)、發(fā)現(xiàn),服務(wù)注冊(cè)信息實(shí)時(shí)更新;鎖定狀態(tài)=人工維護(hù)注冊(cè)信息,服務(wù)注冊(cè)信息固定不變;禁用狀態(tài)=禁止使用,服務(wù)注冊(cè)信息固定為空;
- 跨語(yǔ)言:注冊(cè)中心提供HTTP接口供客戶端實(shí)用,語(yǔ)言無關(guān),通用性更強(qiáng);
- 兼容性:“XXL-RPC原生輕量級(jí)注冊(cè)中心”雖然為XXL-RPC設(shè)計(jì),但是不限于XXL-RPC使用。兼容支持任何服務(wù)框架服務(wù)注冊(cè)實(shí)用,如dubbo、springboot等;
- 容器化:提供官方docker鏡像,并實(shí)時(shí)更新推送dockerhub,進(jìn)一步實(shí)現(xiàn)"XXL-RPC原生注冊(cè)中心方案"產(chǎn)品開箱即用;
- 3、XXL-RPC客戶端適配"XXL-RPC原生注冊(cè)中心",可快速接入,只需要切換注冊(cè)中心實(shí)現(xiàn)為 "NativeServiceRegistry" 即可,文檔由專門章節(jié)介紹;
- 4、注冊(cè)中心啟動(dòng)參數(shù)位置調(diào)整,與注冊(cè)中心實(shí)現(xiàn)關(guān)聯(lián);
- 5、服務(wù)提供者參數(shù)優(yōu)化,IP為空時(shí)原生動(dòng)態(tài)獲取,核心參數(shù)啟動(dòng)時(shí)增強(qiáng)校驗(yàn);
- 6、注冊(cè)模塊API優(yōu)化,改為批量模式進(jìn)一步提升性能;
- 7、文檔增強(qiáng),注冊(cè)中心配置切換、通訊方案配置切換說明;
- 8、IP工具類優(yōu)化,兼容 Inet6Address 格式地址;
- 9、Netty銷毀邏輯優(yōu)化;
- 10、擴(kuò)展第三方注冊(cè)中心ZK底層邏輯優(yōu)化,避免舊注冊(cè)信息無法清理的問題;
簡(jiǎn)介
XXL-RPC 是一個(gè)分布式服務(wù)框架,提供穩(wěn)定高性能的RPC遠(yuǎn)程服務(wù)調(diào)用功能。擁有"高性能、分布式、注冊(cè)中心、軟負(fù)載、服務(wù)治理"等特性?,F(xiàn)已開放源代碼,開箱即用。

輸入圖片說明
“XXL-RPC” 特性:
- 1、快速接入:接入步驟非常簡(jiǎn)潔,兩分鐘即可上手;
- 2、服務(wù)透明:系統(tǒng)完整的封裝了底層通信細(xì)節(jié),開發(fā)時(shí)調(diào)用遠(yuǎn)程服務(wù)就像調(diào)用本地服務(wù),在提供遠(yuǎn)程調(diào)用能力時(shí)不損失本地調(diào)用的語(yǔ)義簡(jiǎn)潔性;
- 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、軟負(fù)載均衡及容錯(cuò):服務(wù)提供方集群注冊(cè)時(shí),在使用軟負(fù)載算法進(jìn)行流量分發(fā);
- 7、注冊(cè)中心:可選組件,支持服務(wù)注冊(cè)并動(dòng)態(tài)發(fā)現(xiàn);可選擇不啟用,直接指定服務(wù)提供方機(jī)器地址通訊;選擇啟用時(shí),原生提供多種開箱即用的注冊(cè)中心可選方案,包括:“XXL-RPC原生輕量級(jí)注冊(cè)中心”、“ZK注冊(cè)中心”、“Local注冊(cè)中心”等;
- 8、服務(wù)治理:提供服務(wù)治理中心,可在線管理注冊(cè)的服務(wù)信息,如服務(wù)鎖定、禁用等;
- 9、服務(wù)監(jiān)控:可在線監(jiān)控服務(wù)調(diào)用統(tǒng)計(jì)信息以及服務(wù)健康狀況等(計(jì)劃中);
- 10、容錯(cuò):服務(wù)提供方集群注冊(cè)時(shí),某個(gè)服務(wù)節(jié)點(diǎn)不可用時(shí)將會(huì)自動(dòng)摘除,同時(shí)消費(fèi)方將會(huì)移除失效節(jié)點(diǎn)將流量分發(fā)到其余節(jié)點(diǎn),提高系統(tǒng)容錯(cuò)能力。
- 11、解決1+1問題:傳統(tǒng)分布式通訊一般通過nginx或f5做集群服務(wù)的流量負(fù)載均衡,每次請(qǐng)求在到達(dá)目標(biāo)服務(wù)機(jī)器之前都需要經(jīng)過負(fù)載均衡機(jī)器,即1+1,這將會(huì)把流量放大一倍。而XXL-RPC將會(huì)從消費(fèi)方直達(dá)服務(wù)提供方,每次請(qǐng)求直達(dá)目標(biāo)機(jī)器,從而可以避免上述問題;
- 12、高兼容性:得益于優(yōu)良的兼容性與模塊化設(shè)計(jì),不限制外部框架;除 spring/springboot 環(huán)境之外,理論上支持運(yùn)行在任何Java代碼中,甚至main方法直接啟動(dòng)運(yùn)行;
“XXL-RPC原生輕量級(jí)注冊(cè)中心” 特性:
- 1、輕量級(jí):基于DB與磁盤文件,只需要提供一個(gè)DB實(shí)例即可,無第三方依賴;
- 2、實(shí)時(shí)性:借助內(nèi)部廣播機(jī)制,新服務(wù)上線、下線,可以在1s內(nèi)推送給客戶端;
- 3、數(shù)據(jù)同步:注冊(cè)中心內(nèi)部10s會(huì)全量同步一次磁盤數(shù)據(jù),清理無效服務(wù),確保服務(wù)數(shù)據(jù)實(shí)時(shí)可用;
- 4、性能:服務(wù)發(fā)現(xiàn)時(shí)僅讀磁盤文件,性能非常高;服務(wù)注冊(cè)、摘除時(shí)通過磁盤文件校驗(yàn),防止重復(fù)注冊(cè)操作;
- 5、擴(kuò)展性:可方便、快速的橫向擴(kuò)展,只需保證 "xxl-rpc-admin" 配置一致即可,可借助負(fù)載均衡組件如Nginx快速集群部署;
- 6、多狀態(tài):服務(wù)內(nèi)置三種狀態(tài):正常狀態(tài)=支持動(dòng)態(tài)注冊(cè)、發(fā)現(xiàn),服務(wù)注冊(cè)信息實(shí)時(shí)更新;鎖定狀態(tài)=人工維護(hù)注冊(cè)信息,服務(wù)注冊(cè)信息固定不變;禁用狀態(tài)=禁止使用,服務(wù)注冊(cè)信息固定為空;
- 7、跨語(yǔ)言:注冊(cè)中心提供HTTP接口供客戶端實(shí)用,語(yǔ)言無關(guān),通用性更強(qiáng);
- 8、兼容性:“XXL-RPC原生輕量級(jí)注冊(cè)中心”雖然為XXL-RPC設(shè)計(jì),但是不限于XXL-RPC使用。兼容支持任何服務(wù)框架服務(wù)注冊(cè)實(shí)用,如dubbo、springboot等;
- 9、容器化:提供官方docker鏡像,并實(shí)時(shí)更新推送dockerhub,進(jìn)一步實(shí)現(xiàn)"XXL-RPC原生注冊(cè)中心方案"產(chǎn)品開箱即用;