免費XXL-RPC 是一個分佈式服務框架

1.1 概述

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

1.2 特性

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


分享到:


相關文章: