【剖析 | SOFARPC 框架】系列之 SOFARPC 泛化調用實現剖析

SOFA
Scalable Open Financial Architecture
是螞蟻金服自主研發的金融級分佈式中間件,包含了構建金融級雲原生架構所需的各個組件,是在金融場景裏錘鍊出來的最佳實踐。架構

本文爲《剖析 | SOFARPC 框架》第七篇,做者莫那·魯道 ,來自 E籤寶。
《剖析 | SOFARPC 框架》系列由 SOFA 團隊和源碼愛好者們出品,
項目代號:<SOFA:RPCLab/>,官方目錄目前已經所有認領完畢。框架

前言

咱們知道,在 RPC 調用中,客戶端須要加載服務端提供的接口定義類,可是,不少狀況下,這個並不老是可行的,因而,衍生了泛化調用的需求,一個成熟的,功能完善的 RPC 框架通常都會支持泛化調用,那麼什麼是泛化調用呢?SOFA RPC 又是如何支持泛化調用的?同時又是如何實現的? 和其餘的 RPC 泛化調用又有何不一樣?有何優點?咱們將在本文一一解答這些問題。分佈式

泛化調用介紹

當客戶端由於某種緣由沒法獲得服務提供方的接口 jar 包時,或者是客戶端是一個比較通用的系統,並不想依賴每一個服務提供方提供的 facade接口,可是又須要進行調用,那麼此時就須要進行泛化調用。spa

例如:中間件

  1. 當分佈式系統由多個語言開發,假設是 Node Js ,同時 Node Js 須要調用 Java 語言的 RPC 服務,那麼,咱們就須要在二者之間架設適配層,讓適配層處理 Node Js 的請求後再轉發給 Java 的 RPC 服務。
  2. 一些中間系統的功能,好比某些內部網關,須要以一個統一的方式實現對其餘下游系統的調用(非 SPI的狀況),逐個依賴下游的包顯然是不可能的。
  3. 一些流量回放類的線上系統,能夠將數據採集攔截,以後,經過泛化調用回放,而不須要依賴全站的應用。
相關文章
相關標籤/搜索