Hasor-RSF分布式服務(wù)框架
一個高可用、高性能、輕量級的分布式服務(wù)框架。支持容災(zāi)、負(fù)載均衡、集群。一個典型的應(yīng)用場景是,將同一個服務(wù)部署在多個Server上提供 request、response 消息通知。使用RSF可以點對點調(diào)用,也可以分布式調(diào)用。部署方式上:可以搭配注冊中心,也可以獨立使用。
注冊中心的使用支持嵌入到應(yīng)用程序本身,也支持獨立運行。集群模式的部署注冊中心,還可以為您解決注冊中心單點問題。
淵源
核心思想?yún)⒖剂颂詫欻SF、Dubbo等優(yōu)秀框架。雖然參考了相關(guān)設(shè)計,但是實現(xiàn)邏輯完全不同,相比淘寶HSF少了歷史包袱,相比Dubbo更加輕量化。而且還支持了虛擬機房,對于多機房部署的產(chǎn)品可以省下大量帶寬成本,同時也降低了遠程調(diào)用時間。真正的毫秒級調(diào)用業(yè)務(wù)處理。
RSF雖然在功能上與兩位前輩出入不大,使用RSF最直觀的感受就是簡單方便,配置少、依賴少,功能強大。
簡單容易(三個一)
- 1 行代碼發(fā)布服務(wù)。
- 1 行代碼訂閱服務(wù)。
- 1 行代碼使用服務(wù)。
配置文件上也是十分簡單,編輯xml配置文件,兩行配置(一行,配置端口、一行配置注冊中心)
工作原理
架構(gòu)
特性
01. 支持服務(wù)動態(tài)發(fā)布、動態(tài)卸載。
02. 支持服務(wù)分組、分版本。
03. 支持多種調(diào)用方式(同步、異步、回調(diào)、接口代理)
04. 支持點對點定向通信,也可以集群大規(guī)模部署集中提供同一個服務(wù)。
05. 支持虛擬機房,通過配置虛擬機房策略可以降低跨機房遠程調(diào)用。
06. 支持QoS流量控制,流控可以精確到:接口、方法、地址。
07. 支持動態(tài)路由腳本,路由可以精確到:接口、方法、參數(shù)。
08. 支持泛化調(diào)用。泛化調(diào)用就是不依賴二方包,通過傳入方法名,方法簽名和參數(shù)值,就可以調(diào)用服務(wù)。
09. 支持優(yōu)雅上下線。
10. 支持 telnet 控制臺,同時控制臺指令還支持自定義擴展。
11. 支持自定義序列化。默認(rèn)使用內(nèi)置 Hessian 4.0.7 序列化庫。
12. 支持請求、響應(yīng)分別使用不同序列化規(guī)則。
13. 支持隱式傳參,即調(diào)用之外的信息通過選項發(fā)送給遠端,或者由遠端響應(yīng)給調(diào)用方。
14. 支持調(diào)用攔截器RsfFilter。
15. 支持注冊中心三種部署方式(單機模式、集群模式、主從模式)
16. 采用服務(wù)地址緩存。當(dāng)應(yīng)用啟動時,如果注冊中心離線,可以自動嘗試恢復(fù)服務(wù)的提供者地址列表。
17. 采用失效地址自動重新嘗試激活。當(dāng)某個地址失效之后,RSF會凍結(jié)一段時間。
18. 采用IO線程、調(diào)用線程分離式設(shè)計。
19. 最小依賴:即便使用全部功能依賴也僅僅只有“hasor.jar、netty.jar、groovy.jar”三個JAR包。
相關(guān)資源
