2013-10-29 23 views

回答

7

Trident基本上是一個建立在風暴之上的抽象,它允許有狀態的流處理。它確保消息的「正好一次處理」,而不是風暴「消息的至少一次處理」。
tutorial頁面

三叉戟是對風暴的頂部做實時計算的一個高層次的抽象。它允許您無縫地混合高吞吐量(每秒數百萬條消息),有狀態的流處理和低延遲的分佈式查詢。如果您熟悉Pig或Cascading等高級批處理工具,Trident的概念將非常熟悉 - Trident擁有連接,聚合,分組,功能和過濾器。除此之外,Trident還添加了用於在任何數據庫或持久性存儲上進行有狀態增量處理的基元。 Trident具有一致的一次語義,因此很容易推理Trident拓撲。

對於使用情況你可以通過this討論SO
檢查API概述here

幾個有用的鏈接,我能找到
http://www.datasalt.com/2013/04/an-storms-trident-api-overview/
http://asakta.blogspot.in/2013/04/learning-to-hold-trident-in-storm.html

3

三叉戟支援很多像組合,過濾,合併,聚合等功能也可以在標準拓撲中實現,但具有實現效果沃茨。 三叉戟高度優化&網絡躍點性能用於在元組上進行分區聚合。

Trident只提供 交易保證一次性發貨。我們必須根據像MongoDB或Casendra這樣的後端數據庫顯式地實現這種交易行爲。

Trident性能可以與火花實時計算框架相匹配。

在Storm中使用典型的事務用例很少見。爲了在trident中啓用事務性質,您需要後端數據庫來根據元組ID來比較或忽略該元組。我們可以在三叉戟中做所有事情,這些都可以在標準拓撲中以更好的性能完成。

DRPC不是拓撲結構,它是使用RPC調用支持客戶機 - 服務器模型的拓撲頂層的包裝,而trident是拓撲構建樣式。