Trident 似乎已弃用 DRPC 和事务拓扑。而且它也不清楚为什么常规拓扑不能做 DRPC 拓扑会做的事情。DRPC 拓扑的特点是什么?
有人可以解释何时使用 DRPC、Transactional、Trident 吗?
任何帮助表示赞赏
Trident 似乎已弃用 DRPC 和事务拓扑。而且它也不清楚为什么常规拓扑不能做 DRPC 拓扑会做的事情。DRPC 拓扑的特点是什么?
有人可以解释何时使用 DRPC、Transactional、Trident 吗?
任何帮助表示赞赏
Trident 在 Storm 0.8.x 中也可用。第一个包含 Trident 的 Storm 版本是 0.8.0。有关详细信息,请参阅storm-user 组中的公告帖子。
无论如何,建议使用 Trident,因为从 0.8.0 开始不推荐使用 DRPC 和事务拓扑。Trident 在这些旧拓扑上简化了很多,并且使用和理解更有趣。
Trident 在 0.8.2 中工作得很好,并替换了较低级别的事务拓扑。
何时/何地声明不推荐使用 DRPC?我没有看到这样的公告。
没有什么可以阻止使用 Trident 进行处理,使用 DRPC 进行查询。Trident 教程本身 ( http://storm.apache.org/releases/0.10.0/Trident-tutorial.html ) 使用 DRPC。
DRPC 的主要用途是查询正在运行的拓扑。您可以将其视为插入查询元组并在处理该元组时获得答案的便捷方式。
DRPC 和事务拓扑都只是建立在基本 Storm 拓扑之上的便利。你是对的,你会完全自己实现它们,但值得一提的是它们已经存在并且可以在处理这些常见模式时简化你的工作。
也就是说,你说得对,Trident 旨在通过将它们所做的很多事情封装在一个更好的抽象层中来构建 Storm 拓扑,从而弃用事务和 DRPC 拓扑。请务必查看Trident 教程,了解有关如何使用 Trident 的更多信息。
Trident 和 DRPC/Transactional 之间的选择取决于您使用的 Storm 版本。如果您使用的是 0.8.x,则 Trident 不可用。如果您使用的是 0.9.x,Trident 已经取代了 DRPC/Transactional,您必须使用 Trident 来完成这些拓扑之前所做的事情。