TOP

RPC、springcloud、dubbo、hadoop、zookeeper等概念的區別
2019-01-02 00:40:15 】 瀏覽:632
Tags:

RPC是一個遠程調用的技術方式,其可以通過HTTP協議實現,也可以是基于SOCKET自己定義新的協議。其本質是為了讓機器在進行遠程調用的時候,不需要知道具體是從哪臺機器調用,從而實現了服務的解耦。RPC本質上就實現了兩個功能优乐棋牌app下载,一個是通過socket等實現的網絡傳輸、一個是數據的序列化和反序列化。

RPC 和 HTTP 調用是沒有經過中間件的,它們是端到端系統的直接數據交互。HTTP 調用其實也可以看成是一種特殊的 RPC,只不過傳統意義上的 RPC 是指長連接數據交互,而 HTTP 一般是指即用即走的短鏈接。

RPC 在我們熟知的各種中間件中都有它的身影。Nginx/Redis/MySQL/Dubbo/Hadoop/Spark/Tensorflow 等重量級開源產品都是在 RPC 技術的基礎上構建出來的,我們這里說的 RPC 指的是廣義的 RPC,也就是分布式系統的通信技術。RPC 在技術中的地位好比我們身邊的空氣,它無處不在优乐棋牌app下载,但是又有很多人根本不知道它的存在。



作者:老錢
鏈接:https://www.zhihu.com/question/25536695/answer/417707733
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

hadoop是一個分布式的計算框架,主要用于分布式的存儲(HDFS)和計算(MapReduce,可以被Spark替代),其機器間的技術使用的RPC(RPC可以使用HTTP協議實現,也可以是基于SOCKET自己定義新的協議)。其通俗的解釋是將一個計算同時分派到很多機器一起算,每個機器算一部分。

springcloud和dubbo都是分布式的服務框架,主要承擔分布式服務器間的RPC通信功能。springcloud的通信協議是REST,dubbo的通信技術是RPC。其通俗的解釋是一個程序的不同模塊放在了不同機器上,所以他們之間需要用網線來連在一起交互。

zookeeper是一個服務治理的組件,一般用于和dubbo配合使用(springcloud一般和eureka配合),因為dubbo實現了通信功能优乐棋牌app下载,但是你如果需要多個機器相應同一個功能模塊,就需要 zookeeper來進行調度看什么時候分給哪一個。

請關注公眾號獲取更多資料



】【打印繁體】【】【】 【】【】【】 【關閉】 【返回頂部
上一篇結合案例講解MapReduce重要知識點.. 下一篇Hadoop 提交任務執行流程總結