我是Storm的新手..请帮助我清楚地了解Trident拓扑结构。我还想了解Trident拓扑的哪种要求套件?
答案 0 :(得分:7)
Trident基本上是一个建立在风暴之上的抽象,允许有状态的流处理。它确保"恰好一个处理"与风暴形成对比的消息"至少一个处理"消息。
来自tutorial页面
Trident是在Storm之上进行实时计算的高级抽象。它允许您无缝混合高吞吐量(每秒数百万条消息),有状态流处理和低延迟分布式查询。如果您熟悉Pig或Cascading等高级批处理工具,Trident的概念将非常熟悉 - Trident具有连接,聚合,分组,功能和过滤器。除此之外,Trident还添加了基元,用于在任何数据库或持久性存储之上执行有状态的增量处理。 Trident具有一致,完全一次的语义,因此很容易推理Trident拓扑。
对于用例,您可以在SO中进行this讨论
检查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
答案 1 :(得分:3)
Trident支持许多功能,例如元组上的分组依据,过滤,合并,聚合,这些功能也可以在标准拓扑中实现,但需要实施。 Trident经过高度优化和优化在元组上进行分区聚合的网络跳跃性能。
Trident通过提供交易保证 只有一次送货。我们必须根据MongoDB或Casendra等后端数据库显式实现此事务行为。
Trident性能可与火花实时计算框架相匹配。
在Storm中使用典型的事务用例是罕见的情况。要在三叉戟中启用事务性质,您需要后端DB来比较或忽略基于元组id的元组。我们可以在三叉戟中完成所有可以在标准拓扑中完成的更好的性能。
DRPC不是拓扑,它是拓扑顶部的包装器,支持使用RPC调用的客户端 - 服务器模型,而trident是拓扑构建样式。