1. 程式人生 > >Storm中的DRPC簡單概述

Storm中的DRPC簡單概述

前邊我們基Hadoop實現了RPC,下面將一下Storm中的DRPC

DRPC:分散式RPC,Storm中的DRPC是使用Storm實時平行計算真正強大的函式,Storm拓撲作為輸入接收函式引數流,併為每個函式呼叫發出結果的輸出流

DRPC不是Storm的一個特徵,因為它是Storm的streams spouts bolts和topologies表示的模式,DRPC本可以打包成Storm獨立的庫,但它與Storm捆綁在一起非常有用

分散式RPC由“DRPC伺服器”協調,DRPC伺服器協調接收RPC請求,將請求傳送到Storm拓撲,從Storm拓撲接收結果,並將結果傳送回等待的客戶端,從客戶端的角度來看,分散式RPC呼叫看起來就像常規的RPC呼叫

如下圖所示:

Tasks in a topology

客戶端向DRPC伺服器傳送要執行的函式的名稱以及該函式的引數,實現該功能的拓撲使用DRPCSpout從DRPC伺服器接收功能呼叫流,每個函式呼叫都由DRPC伺服器標記為唯一ID,然後拓撲計算結果,並在拓撲結束時呼叫一個bolt ReturnResults連線到DRPC伺服器併為其提供函式呼叫id的結果,然後,DRPC伺服器使用id來匹配客戶端正在等待的結果,取消阻塞等待的客戶端,並將結果傳送給它