RPC,英文名稱Remote Procedure Call Protocol,即遠程過程通訊協議。 可以設想一種情況,有一個人,叫A,A想要翻開一本書,非常簡單,讓大腦控制自己兩隻手,輕易就可以看到書本內容。突然有一天,A想看另一本書,他發現自己沒有,而好朋友B有這本書,但是怎麼跟好朋友B借呢?於是 ...
RPC,英文名稱Remote Procedure Call Protocol,即遠程過程通訊協議。
可以設想一種情況,有一個人,叫A,A想要翻開一本書,非常簡單,讓大腦控制自己兩隻手,輕易就可以看到書本內容。突然有一天,A想看另一本書,他發現自己沒有,而好朋友B有這本書,但是怎麼跟好朋友B借呢?於是,A向B發出RPC請求,A順利的借到了B的書。
現在有兩台伺服器,伺服器A向伺服器B請求數據,兩個伺服器不在一個記憶體空間,這時候,A和B首先就要解決通信的問題,A和B之間建立TCP連接,遠程過程調用的數據都在這個連接裡面。連接可以是按需連接,也可以是長連接。
A伺服器要通過底層的RPC框架,告訴B伺服器要傳輸什麼,比如主機名稱,IP地址,埠號,調用的名稱等等,這樣才能精確的找到B服務中調用名稱的位置。一般項目中都會用RMI進行調用,需要註冊中心來註冊服務地址。
當然,伺服器之間通信時需要將其序列化為二進位格式,防止通信時出現錯誤。