RPC简介
一:為什么會出現RPC呢?
當公司業務量還是很小的時候,所有的程序都放置在一臺機器上,程序之間通過函數或者類來調用。
1:當公司的業務發展越來越大,業務線越來越多,公司后端人員也越來越多,分布在不同的業務線,不同的項目里,其他項目組開發了一個服務,另外一個組想調用這個服務,這時候該怎么辦?
2:業務越來越多,我們需要劃分不同的業務模塊,需要把公共服務獨立出來,如何調用這些公共服務和不同的業務模塊提供的服務?
3:如果后端有2個開發組,做著的不同業務,并且使用不同的開發語言,比如php和java,那么他們之間的業務怎么相互進行調用呢?
這時候 rpc 就應運而生了,它可以在不同的模塊不同語言之間進行通信。
所以 rpc 是業務變得越來越多,需要對業務進行拆分,不同的模塊提供不同的服務時,各服務模塊之間相互進行通信的一種方式。
?
二:RPC是什么?
RPC(Remote Procedure Call Protocol)——遠程過程調用協議。
它是一種通過網絡從遠程計算機程序上請求服務,而調用者不需要了解底層網絡技術的協議,它讓調用者對網絡通信這些細節是透明的。
rpc采用的是客戶端<----->服務器模式。 請求程序是一個客戶機,而服務提供程序就是一個服務器。
rpc的通信模型如下圖:
?
?三:有哪些RPC框架
各大互聯網公司都根據自己公司業務特點開發了自己的rpc框架,如阿里巴巴的hsf、dubbo(開源)、Facebook的thrift(開源)、Twitter的finagle(開源)等
下一篇我們分析下thrift框架,看看rpc框架是怎么進行通信的,它的原理是什么?
轉載于:https://www.cnblogs.com/jiujuan/p/10269859.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
- 上一篇: linux iptables扩展,脚本防
- 下一篇: SVN如何将版本库url访问地址中的ht