gRPC學習筆記——(一)學習鋪墊

(如有不全锐帜,煩請指出田盈,后續(xù)不斷跟進修正)

一、什么是RPC缴阎?為什么要學習RPC允瞧?有沒有RPC的代替品?

——今后所有的學習筆記都將以此三問起頭蛮拔。關于編程述暂,個人覺得由此三問,可助于編碼人更加透徹清晰的了解學習目的建炫,以及學下去的動力畦韭!

? ?1. 什么是RPC(Remote Procedure Call Protocol,遠程過程調(diào)用)肛跌?


????????(部分摘抄于https://www.zhihu.com/question/25536695用心閣回答)

? ??????官解:它是一種通過網(wǎng)絡從遠程計算機程序上請求服務艺配,而不需要了解底層網(wǎng)絡技術的協(xié)議。RPC協(xié)議假定某些傳輸協(xié)議的存在衍慎,如TCP或UDP妒挎,為通信程序之間攜帶信息數(shù)據(jù)。在OSI網(wǎng)絡通信模型中西饵,RPC跨越了傳輸層和應用層酝掩。RPC使得開發(fā)包括網(wǎng)絡分布式多程序在內(nèi)的應用程序更加容易。

????????通解:簡單的來說就是像調(diào)用本地服務一樣調(diào)用遠程服務眷柔。比如兩臺服務器A期虾,B,一個應用部署在A服務器上驯嘱,想要調(diào)用B服務器上應用提供的函數(shù)/方法镶苞,由于不在一個內(nèi)存空間,不能直接調(diào)用鞠评,需要通過網(wǎng)絡來表達調(diào)用的語義和傳達調(diào)用的數(shù)據(jù)茂蚓。

? ??????用例:定義一個方法:Employee getEmployeeByName(String fullName)

????????????????????需要解決的問題:(1.通訊 | 2.尋址 | 3.序列化和編組 | 4.反序列化 | 5. ?3 4問題的重復)


需要解決的問題
RPC原理

????2.為什么要學習RPC?


? ??????????????學習契機:公司游戲服務器需要與我這邊的代理后臺交互剃幌,主要的交互有:充值及反饋聋涨、查詢游戲數(shù)據(jù)、公告等等负乡。同時雙方使用不同數(shù)據(jù)庫牍白。游戲服務器這邊的大神使用GO,熟悉Google的gRPC框架抖棘,商討下決定使用RPC通信茂腥。

? ??????????????比較決定:

????????????????????相較于HTTP通信:速度慢狸涌、數(shù)據(jù)包大、實時交互壓力大(無連接最岗、無狀態(tài))帕胆、數(shù)據(jù)傳輸、安全性差般渡。

????????????????????相較于socket通信:較高的開發(fā)水平要求惶楼、較大的開發(fā)量

????????????? ??優(yōu)勢:

????????????????????可以實現(xiàn)跨語言跨平臺調(diào)用,GO可以調(diào)用JAVA服務诊杆,反之亦可歼捐。

????????????????????每一次調(diào)用方只需要提出需求,不需要了解對方具體的業(yè)務晨汹。

????????????????????各自模塊各自業(yè)務隔離開來豹储,滿足面向對象思維,各自封裝各自的業(yè)務邏輯淘这,不會因為不熟悉業(yè)務的人的修改而導致系統(tǒng)崩潰剥扣。

????????????????????易于拓展,易于復用(當然滿足了面向對象的特性肯定有具有面向對象的優(yōu)勢铝穷。)

? ? 3.有沒有RPC的代替品钠怯?


????????????????本地通信——內(nèi)存映射

????????????????網(wǎng)絡通信——socket、rpc曙聂。RESTful

認識網(wǎng)絡傳輸


二晦炊、目前開源RPC框架有:

? ??推薦大家閱讀分布式RPC框架性能大比拼 ,有詳細比較宁脊,這里我只加入了去年剛剛開源的bRPC断国。


? ? ? ? 1.Dubbo(阿里的soa服務化治理方案的核心框架,內(nèi)置有rpc組件榆苞,國內(nèi)最流行的rpc框架稳衬,目前聽說又開始維護了)

? ??????2.gRPC(Google開發(fā),2016年開源)

????? ??3.THrift(facebook開發(fā)坐漏,2007年貢獻到apache基金)

????? ??4.bRPC(百度開發(fā)薄疚,據(jù)說是百度唯一良心的項目,可惜目前僅開源了C++

????? ??5.Motan(新浪開發(fā)赊琳,2016/5開源

各大rpc框架比較
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末街夭,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子慨畸,更是在濱河造成了極大的恐慌莱坎,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件寸士,死亡現(xiàn)場離奇詭異檐什,居然都是意外死亡,警方通過查閱死者的電腦和手機弱卡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進店門乃正,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人婶博,你說我怎么就攤上這事瓮具。” “怎么了凡人?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵名党,是天一觀的道長。 經(jīng)常有香客問我挠轴,道長传睹,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任岸晦,我火速辦了婚禮欧啤,結果婚禮上,老公的妹妹穿的比我還像新娘启上。我一直安慰自己邢隧,他們只是感情好,可當我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布冈在。 她就那樣靜靜地躺著倒慧,像睡著了一般。 火紅的嫁衣襯著肌膚如雪包券。 梳的紋絲不亂的頭發(fā)上迫靖,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天,我揣著相機與錄音兴使,去河邊找鬼系宜。 笑死,一個胖子當著我的面吹牛发魄,可吹牛的內(nèi)容都是我干的盹牧。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼励幼,長吁一口氣:“原來是場噩夢啊……” “哼汰寓!你這毒婦竟也來了?” 一聲冷哼從身側響起苹粟,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤有滑,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后嵌削,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體毛好,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡望艺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了肌访。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片找默。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖吼驶,靈堂內(nèi)的尸體忽然破棺而出惩激,到底是詐尸還是另有隱情,我是刑警寧澤蟹演,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布风钻,位于F島的核電站,受9級特大地震影響酒请,放射性物質(zhì)發(fā)生泄漏骡技。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一蚌父、第九天 我趴在偏房一處隱蔽的房頂上張望哮兰。 院中可真熱鬧,春花似錦苟弛、人聲如沸喝滞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽右遭。三九已至,卻和暖如春缤削,著一層夾襖步出監(jiān)牢的瞬間窘哈,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工亭敢, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留滚婉,地道東北人。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓帅刀,卻偏偏與公主長得像让腹,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子扣溺,可洞房花燭夜當晚...
    茶點故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內(nèi)容