风暴 - DRPC与交易与三叉戟 - 何时使用什么?

时间:2013-09-10 23:08:34

标签: apache-storm topology

Trident似乎已经弃用了DRPC和Transactional Topologies。而且还不清楚为什么常规拓扑无法做DRPC拓扑所能做的事情。什么是DRPC拓扑的专长?

有人可以解释何时使用DRPC,Transactional,Trident?

任何帮助表示赞赏

3 个答案:

答案 0 :(得分:4)

Trident也可以在Storm 0.8.x中使用。包括Trident在内的第一个Storm版本是0.8.0。有关详细信息,请参阅storm-user组中的announcement post

在任何情况下,建议使用Trident,因为DRPC和Transactional拓扑结构已从0.8.0开始弃用。 Trident在这些旧拓扑上简化了很多,使用和理解起来更有趣。

答案 1 :(得分:1)

Trident与0.8.2配合得很好,取代了较低级别的事务拓扑。

何时/何时声明DRPC已被弃用?我没有看到这样的消息。

没有什么可以阻止使用Trident进行处理,DRPC用于查询。 Trident教程本身(http://storm.apache.org/releases/0.10.0/Trident-tutorial.html)使用DRPC。

DRPC的主要用途是查询正在运行的拓扑。您可以将其视为插入查询元组的便捷方式,并在处理该元组时获得答案。

答案 2 :(得分:0)

DRPC和Transactional拓扑只是基于Storm拓扑的基础上的便利。你是完全自己实现它们是正确的,但是对待的是它们已经存在并且在处理这些常见模式时可以简化你的工作。

也就是说,你是对的,因为Trident旨在通过在更好的抽象层中包含很多用于构建Storm拓扑的内容来弃用事务和DRPC拓扑。请务必查看Trident tutorial以获取有关如何使用Trident的更多信息。

Trident和DRPC / Transactional之间的选择是您使用的Storm版本。如果您使用的是0.8.x,则Trident不可用。如果你使用0.9.x,Trident已经取代了DRPC / Transactional,你必须使用Trident来做那些拓扑之前做过的事情。