什么是RPC協(xié)議?
RPC是一種遠程過程調(diào)用的協(xié)議,使用這種協(xié)議向另一臺計算機上的程序請求服務,不需要了解底層網(wǎng)絡技術(shù)的協(xié)議。
在 RPC 中,發(fā)出請求的程序是客戶程序,而提供服務的程序是服務器。
?
HTTP是一種超文本傳輸協(xié)議。是WWW瀏覽器和WWW服務器之間的應用層通訊協(xié)議。
?
RPC協(xié)議與HTTP協(xié)議的區(qū)別
1、RPC是一種API,HTTP是一種無狀態(tài)的網(wǎng)絡協(xié)議。RPC可以基于HTTP協(xié)議實現(xiàn),也可以直接在TCP協(xié)議上實現(xiàn)。
2、RPC主要是用在大型網(wǎng)站里面,因為大型網(wǎng)站里面系統(tǒng)繁多,業(yè)務線復雜,而且效率優(yōu)勢非常重要的一塊,這個時候RPC的優(yōu)勢就比較明顯了。
HTTP主要是用在中小型企業(yè)里面,業(yè)務線沒那么繁多的情況下。
3、HTTP開發(fā)方便簡單、直接。開發(fā)一個完善的RPC框架難度比較大。
4、HTTP發(fā)明的初衷是為了傳送超文本的資源,協(xié)議設計的比較復雜,參數(shù)傳遞的方式效率也不高。開源的RPC框架針對遠程調(diào)用協(xié)議上的效率會比HTTP快很多。
5、HTTP需要事先通知,修改Nginx/HAProxy配置。RPC能做到自動通知,不影響上游。
6、HTTP大部分是通過Json來實現(xiàn)的,字節(jié)大小和序列化耗時都比Thrift要更消耗性能。RPC,可以基于Thrift實現(xiàn)高效的二進制傳輸。
?
SEO網(wǎng)站需要選擇怎么樣的的框架,需要多方面的評估,再對兩種開發(fā)框架進行比較,哪種最適合。不要為了使用RPC而每個項目都用RPC,而是要因地制宜,具體情況具體分析。
閱讀本文的人還可以閱讀: