1. 程式人生 > >有http 了,為什麼還要rpc?

有http 了,為什麼還要rpc?

       技術應該不是為了使用新技術而去使用,而應該是舊技術存在某些瓶頸,存在難以支撐或者擴充套件性越老越差等問題暴露出來之後,用新技術來進行解決。

       那RPC最大的優點,或者說它相比簡單的HTTP介面,它的優勢、更適合它的業務場景是怎樣呢?簡單的HTTP又哪裡不足,哪些場景明顯不太適合呢?

       RPC=Remote Produce Call 是一種技術的概念名詞.RPC 包括傳輸協議和編碼協議。 HTTP是一種傳輸協議,RPC可以通過HTTP來實現,也可以通過Socket自己實現一套協議來實現.

       http介面是在介面不多、系統與系統互動較少的情況下,解決資訊孤島初期常使用的一種通訊手段;優點就是簡單、直接、開發方便。利用現成的http協議 進行傳輸。但是如果是一個大型的網站,內部子系統較多、介面非常多的情況下,RPC框架的好處就顯示出來了,首先就是長連結,不必每次通訊都要像http 一樣去3次握手什麼的,減少了網路開銷;其次就是RPC框架一般都有註冊中心,有豐富的監控管理;釋出、下線介面、動態擴充套件等,對呼叫方來說是無感知、統 一化的操作。第三個來說就是安全性。最後就是最近流行的服務化架構、服務化治理,RPC框架是一個強力的支撐

       rpc是一種概念,http也是rpc實現的一種方式。論複雜度,dubbo/hessian用起來是超級簡單的。最近用dubbo和hessian比較多,http的幾乎都被廢棄了。

PS:更多技術講解請關注360linker官方公眾號,並有資格加入社群免費獲取IT技術視訊教程,讓你快速精煉漲知識漲技術