本申請公開了一種分布式系統的跨網絡調用方法,應用于第一分布式系統,包括接收第二分布式系統發送的RPC調用請求,并將所述RPC調用請求轉換為對應的HTTP請求;將所述HTTP請求發送至所述第三分布式系統,以便所述第三分布式系統將所述HTTP請求泛化為所述RPC調用請求,并向所述第一分布式系統返回服務調用結果;當接收到所述第三分布式系統返回的所述服務調用結果時,將所述服務調用結果發送至所述第二分布式系統。本申請能夠提高跨網絡服務調用效率及其升級改造的研發效率。本申請還公開了一種跨網絡的服務調用方法、一種分布式系統的跨網絡調用裝置、一種存儲介質及一種電子設備,具有以上有益效果。
【技術實現步驟摘要】
一種分布式系統的跨網絡調用方法、裝置及相關組件
本申請涉及計算機
,特別涉及一種分布式系統的跨網絡調用方法、一種跨網絡的服務調用方法、一種分布式系統的跨網絡調用裝置、一種存儲介質及一種電子設備。
技術介紹
分布式系統是由一組通過網絡進行通信、為了完成共同的任務而協調工作的計算機節點組成的系統。分布式系統的特性是處于同一網絡中,這樣便于處于分布式系統中的各系統進行交互與通信,從而完成共同的任務。分布式系統中通常采用基于RPC技術的RPC服務實現信息通信。如同一網絡的訂單系統(下文簡稱A系統)、庫存系統(下文簡稱B系統),為了提升通信的性能,一般采用基于RPC(RemoteProcedureCall,遠程過程調用)技術的RPC服務。但是,在分布式系統跨網絡調用時,由于RPC技術一般要求基于RPC協議的私有網絡,并不會直接暴露服務的注冊中心,所以需要使用其他技術進行服務信息交互(如REST服務,一種基于HTTP協議的服務方法,下文以REST技術舉例),即當A系統需要跨網絡訪問B系統的服務時,會將B系統的服務進行轉換,將B系統的RPC服務暴露為REST服務。但是上述將被調用系統RPC服務暴露為REST服務這種方案的缺點在于:當存在大量的跨網絡服務需要進行改造時,其將會是一個非常大的系統工程,涉及的編碼與工作量會隨著服務的數量成指數級別的增長,導致服務服務調用效率、升級改造的研發效率都很低下。因此,如何提高跨網絡服務調用效率及其升級改造的研發效率是本領域技術人員目前需要解決的技術問題。專利
技術實現思路
本申請的目的是提供一種分布式系統的跨網絡調用方法、一種跨網絡的服務調用方法、一種分布式系統的跨網絡調用裝置、一種存儲介質及一種電子設備,能夠提高跨網絡服務調用效率及其升級改造的研發效率。為解決上述技術問題,本申請提供一種分布式系統的跨網絡調用方法,應用于第一分布式系統,該跨網絡調用方法包括:接收第二分布式系統發送的RPC調用請求,并將所述RPC調用請求轉換為對應的HTTP請求;其中,所述第一分布式系統和所述第二分布式系統處于第一網絡,所述第一分布式系統通過將處于第二網絡的第三分布式系統進行同等部署得到;將所述HTTP請求發送至所述第三分布式系統,以便所述第三分布式系統將所述HTTP請求泛化為所述RPC調用請求,并向所述第一分布式系統返回服務調用結果;當接收到所述第三分布式系統返回的所述服務調用結果時,將所述服務調用結果發送至所述第二分布式系統。可選的,還包括:在所述第一分布式系統中添加Filter插件;相應的,將所述RPC調用請求轉換為對應的HTTP請求,包括:通過所述Filter插件將所述RPC調用請求轉換為對應的HTTP請求。可選的,通過所述Filter插件將所述RPC調用請求轉換為對應的HTTP請求包括:利用所述Filter插件獲取所述RPC調用請求的請求信息;其中,所述請求信息包括所述RPC調用請求的服務名、參數、參數類型和版本;構建所述RPC調用請求對應的HTTP請求;其中,所述HTTP請求的請求地址為所述第二網絡的代理層IP地址,所述HTTP請求的統一資源標識符URL包括所述請求信息。可選的,在將所述RPC調用請求轉換為對應的HTTP請求之前,還包括:判斷所述第一分布式系統的本地緩存中是否包括所述RPC調用請求對應的服務調用結果;若是,將所述第一分布式系統的本地緩存中存儲的所述RPC調用請求對應的服務調用結果返回至所述第二分布式系統;若否,則進入將所述RPC調用請求轉換為對應的HTTP請求的操作。可選的,所述第三分布式系統中部署有Proxy層代理服務;相應的,將所述HTTP請求泛化為所述RPC調用請求,包括:利用所述Proxy層代理服務將所述HTTP請求泛化為所述RPC調用請求。可選的,所述HTTP請求包括所述第一分布式系統的用戶標識;相應的,向所述第一分布式系統返回服務調用結果包括:所述第三分布式系統判斷所述用戶標識是否為白名單中的預設標識;若是,則執行所述RPC調用請求得到所述服務調用結果,并向所述第一分布式系統返回所述服務調用結果;若否,則向所述第一分布式系統返回調用失敗的提示信息。本申請還提供了一種跨網絡的服務調用方法,包括:確定執行跨網絡調用操作的第二分布式系統和被跨網絡調用的第三分布式系統;其中,所述第二分布式系統處于第一網絡,所述第三分布式系統處于第二網絡;將所述第三分布式系統在所述第二分布式系統所在的本地網絡中執行同等部署操作,得到第一分布式系統;所述第二分布式系統向所述第一分布式系統發送RPC調用請求,以便所述第一分布式系統將所述RPC調用請求轉換為HTTP請求并將所述HTTP請求轉發至所述第三分布式系統;所述第三分布式系統將所述HTTP請求泛化為所述RPC調用請求,并向所述第一分布式系統返回服務調用結果;所述第一分布式系統將所述服務調用結果發送至所述第二分布式系統。本申請還提供了一種分布式系統的跨網絡調用裝置,應用于第一分布式系統,該裝置包括:請求轉換模塊,用于接收第二分布式系統發送的RPC調用請求,并將所述RPC調用請求轉換為對應的HTTP請求;其中,所述第一分布式系統和所述第二分布式系統處于第一網絡,所述第一分布式系統通過將處于第二網絡的第三分布式系統進行同等部署得到;請求發送模塊,用于將所述HTTP請求發送至所述第三分布式系統,以便所述第三分布式系統將所述HTTP請求泛化為所述RPC調用請求,并向所述第一分布式系統返回服務調用結果;結果返回模塊,用于當接收到所述第三分布式系統返回的所述服務調用結果時,將所述服務調用結果發送至所述第二分布式系統。本申請還提供了一種存儲介質,其上存儲有計算機程序,所述計算機程序執行時實現上述方法執行的步驟。本申請還提供了一種電子設備,包括存儲器和處理器,所述存儲器中存儲有計算機程序,所述處理器調用所述存儲器中的計算機程序時實現上述方法執行的步驟。本申請提供了一種分布式系統的跨網絡調用方法,應用于第一分布式系統,包括:接收第二分布式系統發送的RPC調用請求,并將所述RPC調用請求轉換為對應的HTTP請求;其中,所述第一分布式系統和所述第二分布式系統處于第一網絡,所述第一分布式系統通過將處于第二網絡的第三分布式系統進行同等部署得到;將所述HTTP請求發送至所述第三分布式系統,以便所述第三分布式系統將所述HTTP請求泛化為所述RPC調用請求,并向所述第一分布式系統返回服務調用結果;當接收到所述第三分布式系統返回的所述服務調用結果時,將所述服務調用結果發送至所述第二分布式系統。本申請在第一分布式系統收到第二分布式系統發送的RPC調用請求之后將RPC調用請求轉換為對應的HTTP請求,進而將HTTP請求轉發至跨網絡的第三分布式系統,以使第三分布式系統將接收到的HTTP請求泛化本文檔來自技高網...
【技術保護點】
1.一種分布式系統的跨網絡調用方法,其特征在于,應用于第一分布式系統,包括:/n接收第二分布式系統發送的RPC調用請求,并將所述RPC調用請求轉換為對應的HTTP請求;其中,所述第一分布式系統和所述第二分布式系統處于第一網絡,所述第一分布式系統通過將處于第二網絡的第三分布式系統進行同等部署得到;/n將所述HTTP請求發送至所述第三分布式系統,以便所述第三分布式系統將所述HTTP請求泛化為所述RPC調用請求并向所述第一分布式系統返回服務調用結果;/n當接收到所述第三分布式系統返回的所述服務調用結果時,將所述服務調用結果發送至所述第二分布式系統。/n
【技術特征摘要】
1.一種分布式系統的跨網絡調用方法,其特征在于,應用于第一分布式系統,包括:
接收第二分布式系統發送的RPC調用請求,并將所述RPC調用請求轉換為對應的HTTP請求;其中,所述第一分布式系統和所述第二分布式系統處于第一網絡,所述第一分布式系統通過將處于第二網絡的第三分布式系統進行同等部署得到;
將所述HTTP請求發送至所述第三分布式系統,以便所述第三分布式系統將所述HTTP請求泛化為所述RPC調用請求并向所述第一分布式系統返回服務調用結果;
當接收到所述第三分布式系統返回的所述服務調用結果時,將所述服務調用結果發送至所述第二分布式系統。
2.根據權利要求1所述跨網絡調用方法,其特征在于,還包括:
在所述第一分布式系統中添加Filter插件;
相應的,將所述RPC調用請求轉換為對應的HTTP請求,包括:
通過所述Filter插件將所述RPC調用請求轉換為對應的HTTP請求。
3.根據權利要求2所述跨網絡調用方法,其特征在于,通過所述Filter插件將所述RPC調用請求轉換為對應的HTTP請求包括:
利用所述Filter插件獲取所述RPC調用請求的請求信息;其中,所述請求信息包括所述RPC調用請求的服務名、參數、參數類型和版本;
構建所述RPC調用請求對應的HTTP請求;其中,所述HTTP請求的請求地址為所述第二網絡的代理層IP地址,所述HTTP請求的統一資源標識符URL包括所述請求信息。
4.根據權利要求1所述跨網絡調用方法,其特征在于,在將所述RPC調用請求轉換為對應的HTTP請求之前,還包括:
判斷所述第一分布式系統的本地緩存中是否包括所述RPC調用請求對應的服務調用結果;
若是,則將所述第一分布式系統的本地緩存中存儲的所述RPC調用請求對應的服務調用結果返回至所述第二分布式系統;
若否,則進入將所述RPC調用請求轉換為對應的HTTP請求的操作。
5.根據權利要求1所述跨網絡調用方法,其特征在于,所述第三分布式系統中部署有Proxy層代理服務;
相應的,將所述HTTP請求泛化為所述RPC調用請求,包括:
利用所述Proxy層代理服務將所述HTTP請求泛化為所述RPC調用請求。
6.根據權利要求1所述跨網絡調用方法...
【專利技術屬性】
技術研發人員:王亮亮,陳潔,
申請(專利權)人:政采云有限公司,
類型:發明
國別省市:浙江;33
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。