2013-10-29 42 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是拓扑构建样式。