RPC:Remote Produce Call遠程過程調用。
RPC基於Socket,工作在會話層。自定義數據格式。
速度快,效率高。早期的webservice,現在熱門的dubbo,都是RPC的典型代表
Http:http其實是一種網絡傳輸協議,基於TCP,工作在應用層,規定了數據傳輸的格式。現在客戶端瀏覽器與服務端通信基本都是採用Http協議,也可以用來進行遠程服務調用。
http: 優點:語言無關;提供接口
缺點:http協議,請求頭很臃腫,一次請求會帶上無關緊要的數據,傳輸慢
解決方案: 削減請求頭信息
兩種遠程調用服務的區別
RPC的機制是根據語言的API(language API)來定義的,而不是根據基於網絡的應用來定義的。
如果你們公司全部採用Java技術棧,那麼使用Dubbo作爲微服務架構是一個不錯的選擇。
相反,如果公司的技術棧多樣化,而且你更青睞Spring家族,那麼Spring Cloud搭建微服務是不二之選。在我們的項目中,會選擇Spring Cloud套件,因此會使用Http方式來實現服務間調用。