1. 程式人生 > >XXL-RPC v1.2.1,分散式服務框架

XXL-RPC v1.2.1,分散式服務框架

Release Notes

  • 1、內建註冊中心選擇ZK時邏輯優化,ZK初始化時unlock邏輯調整,優化斷線重連特性;
  • 2、除了springboot型別示例;新增無框架示例專案 “xxl-rpc-executor-sample-frameless”。不依賴第三方框架,只需main方法即可啟動執行;
  • 3、選型http通訊方式時,校驗為IP埠格式地址則主動新增地址字首;
  • 4、RPC非同步請求邏輯優化,請求異常時主動通知Client端,避免無效等待時間;
  • 5、http通訊方式選型jetty時,執行緒池升級為QueuedThreadPool,修復jetty9.4版本server自動銷燬問題;
  • 6、Server新增 “/services” 目錄功能,可檢視線上服務列表;

簡介

XXL-RPC 是一個分散式服務通訊框架,提供穩定高效能的RPC遠端服務呼叫功能。現已開放原始碼,開箱即用。

輸入圖片說明

特性

  • 1、快速接入:接入步驟非常簡潔,兩分鐘即可上手;
  • 2、服務透明:系統完整的封裝了底層通訊細節,開發時呼叫遠端服務就像呼叫本地服務,在提供遠端呼叫能力時不損失本地呼叫的語義簡潔性;
  • 3、多呼叫方案:支援 SYNC、ONEWAY、FUTURE、CALLBACK 等方案;
  • 4、多通訊方案:支援 TCP 和 HTTP 兩種通訊方式進行服務呼叫;其中 TCP 提供可選方案 NETTY 或 MINA ,HTTP 提供可選方案 Jetty;
  • 5、多序列化方案:支援 HESSIAN、HESSIAN1、PROTOSTUFF、JSON 等方案;
  • 6、註冊中心:可選元件,支援服務註冊並動態發現;未啟用註冊中心時,支援直接指定服務提供方機器地址通訊;原生提供 local 與 zookeeper 兩種服務註冊中心可選方案;
  • 7、軟負載均衡及容錯:服務提供方叢集註冊時,在使用軟負載演算法進行流量分發;
  • 8、容錯:服務提供方叢集註冊時,某個服務節點不可用時將會自動摘除,同時消費方將會移除失效節點將流量分發到其餘節點,提高系統容錯能力。
  • 9、解決1+1問題:傳統分散式通訊一般通過nginx或f5做叢集服務的流量負載均衡,每次請求在到達目標服務機器之前都需要經過負載均衡機器,即1+1,這將會把流量放大一倍。而XXL-RPC將會從消費方直達服務提供方,每次請求直達目標機器,從而可以避免上述問題;
  • 10、服務治理:提供服務治理中心,可線上管理註冊的服務資訊,如管理服務節點、節點權重等;(計劃中)
  • 11、服務監控:可線上監控服務呼叫統計資訊以及服務健康狀況等(計劃中);
  • 12、高相容性:得益於優良的相容性與模組化設計,不限制外部框架;除 spring/springboot 環境之外,理論上支援執行在任何Java程式碼中,甚至main方法直接啟動執行;

文件地址

技術交流