久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Python中RPC是什么

145次閱讀
沒有評論

共計 1501 個字符,預計需要花費 4 分鐘才能閱讀完成。

這篇文章主要介紹“Python 中 RPC 是什么”,在日常操作中,相信很多人在 Python 中 RPC 是什么問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python 中 RPC 是什么”的疑惑有所幫助!接下來,請跟著丸趣 TV 小編一起來學習吧!

如今的計算機應用中,單機性能上很難承受住產品的壓力,需要不斷擴充多臺機器來提升整體的性能。同時為了充分利用這些集群里的計算機,需要對其從架構上進行劃分,以提供不同的服務,服務間相互調用完成整個產品的功能。

####RPC 就是為解決服務之間信息交互而發明和存在的

RPC(Remote Procedure Call)——遠程過程調用,它是一種通過網絡從遠程計算機程序上請求服務,而不需要了解底層網絡技術的協議(RPC 的設計思想是力圖使遠程調用中的通訊細節對于使用者透明,調用雙方無需關心網絡通訊的具體實現。因而實現 RPC 要進行一定的封裝)

流程:

調用者(Caller, 也叫客戶端、Client)以本地調用的方式發起調用;

Client stub(客戶端存根,可理解為輔助助手)收到調用后,負責將被調用的方法名、參數等打包編碼成特定格式的能進行網絡傳輸的消息體;

Client stub 將消息體通過網絡發送給對端(服務端)

Server stub(服務端存根,同樣可理解為輔助助手)收到通過網絡接收到消息后按照相應格式進行拆包解碼,獲取方法名和參數;

Server stub 根據方法名和參數進行本地調用;

被調用者(Callee,也叫 Server)本地調用執行后將結果返回給 server stub;

Server stub 將返回值打包編碼成消息,并通過網絡發送給對端(客戶端);

Client stub 收到消息后,進行拆包解碼,返回給 Client;

Client 得到本次 RPC 調用的最終結果。

使用 RPC 方法

聲明 RPC 調用的接口形式      ret = recommend_article(channel_id, user_id)     接口的名字 recommend_article     調用時傳遞的參數 int channel_id  , int user_id     接口返回數據 int  list    [article_id, article_id, ….]

生成 調用的代碼 (包含了 參數轉換為二進制傳輸的方法、網絡傳輸收發的方法)     rpc 框架會提供生成代碼的工具 (編譯器)     使用編譯器生成不同語言的代碼     調用方 python – 使用編譯器 根據上面的接口描述,生成 python 代碼     被調用方 java – 使用編譯器 根據上面的接口,生成 java 代碼

需要補充代碼     在被調用的一端 服務端 補充被調用時執行的邏輯函數     在調用的一方,需要在 調用的代碼地方 補充上調用的代碼

常用框架

gRPC(Google)

gRPC 是由 Google 公司開源的高性能 RPC 框架。

gRPC 支持多語言 gRPC 原生使用 C、Java、Go 進行了三種實現,而 C 語言實現的版本進行封裝后又支持 C ++、C#、Node、ObjC、Python、Ruby、PHP 等開發語言

gRPC 支持多平臺 支持的平臺包括:Linux、Android、iOS、MacOS、Windows

gRPC 的消息協議使用 Google 自家開源的 Protocol Buffers 協議機制(proto3)序列化

gRPC 的傳輸使用 HTTP/ 2 標準,支持雙向流和連接多路復用

到此,關于“Python 中 RPC 是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注丸趣 TV 網站,丸趣 TV 小編會繼續努力為大家帶來更多實用的文章!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-25發表,共計1501字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 左权县| 湟中县| 建平县| 东明县| 阜新市| 瓮安县| 美姑县| 惠东县| 达孜县| 蓬莱市| 资源县| 南投市| 万载县| 水城县| 外汇| 克拉玛依市| 汉源县| 靖西县| 固始县| 安仁县| 昆山市| 宿州市| 阳春市| 平南县| 秦安县| 临潭县| 江口县| 义乌市| 沈阳市| 平和县| 柏乡县| 河东区| 黄龙县| 台南县| 兴宁市| 前郭尔| 朝阳县| 新安县| 布拖县| 平安县| 东城区|