欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網
          最全最豐富的資訊網站

          流行的php rpc框架詳解

          流行的php rpc框架詳解

          什么是RPC框架?

          如果用一句話概括RPC就是:遠程調用框架(Remote Procedure Call

          那什么是遠程調用?

          通常我們調用一個php中的方法,比如這樣一個函數方法: localAdd(10, 20),localAdd方法的具體實現(xiàn)要么是用戶自己定義的,要么是php庫函數中自帶的,也就說在localAdd方法的代碼實現(xiàn)在本地,它是一個本地調用!遠程調用意思就是:被調用方法的具體實現(xiàn)不在程序運行本地,而是在別的某個遠程地方。

          遠程調用原理

          比如 A (client) 調用 B (server) 提供的remoteAdd方法:

          首先A與B之間建立一個TCP連接;

          然后A把需要調用的方法名(這里是remoteAdd)以及方法參數(10, 20)序列化成字節(jié)流發(fā)送出去;

          B接受A發(fā)送過來的字節(jié)流,然后反序列化得到目標方法名,方法參數,接著執(zhí)行相應的方法調用(可能是localAdd)并把結果30返回;

          A接受遠程調用結果,輸出30。

          RPC框架就是把我剛才說的這幾點些細節(jié)給封裝起來,給用戶暴露簡單友好的API使用。

          遠程調用的好處

          解耦:當server需要對方法內實現(xiàn)修改時,client完全感知不到,不用做任何變更;這種方式在跨部門,跨公司合作的時候經常用到,并且方法的提供者我們通常稱為:服務的暴露。

          RPC與Socket有什么區(qū)別?

          通過上面的簡單闡述,好像RPC與Socket 好像啊。都是調用遠程的方法,都是client/server模式,我之前也寫了一篇文章: 細說socket 那他們有啥區(qū)別呢?

          RPC(遠程過程調用)采用客戶機/服務器模式實現(xiàn)兩個進程之間相互通信。socket是RPC經常采用的通信手段之一,RPC是在Socket的基礎上實現(xiàn)的,它比socket需要

          贊(0)
          分享到: 更多 (0)
          網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號