我想为ApacheHeron编写一些定制的调度程序,我正在深入研究源代码。我注意到在heron源代码中有两个类相似的包。例如,大多数班级 backtype.storm
& org.apache.storm
相似(完全相似,内部代码相同)。在这两个包和 com.twitter.heron
(例如 com.twitter.heron.api.tuple.Fields
)但是其中一些在内部有不同的代码(比如fields类)。我知道在编写拓扑时,我们可以导入我们想要的每个包,我们可以在其中任意一个包之间进行选择,但我很好奇它们之间的区别,以及为什么它们将所有这些包放在一起。没有合并它们?如果storm类是编写拓扑的唯一选择,那么类在什么地方呢 com.twitter.heron
Package 好吗?
我知道heron被设计成与storm完全向后兼容,这可能是因为向后兼容的问题,但是我不得不承认这让我很困惑,因为我需要在这些类中编写自己的代码,我不知道如何选择哪一个,哪一个是不断开发和维护的开发人员和我应该选择他们作为候选人修改。
提前谢谢。
1条答案
按热度按时间bmvo0sr51#
根据这里对开发团队的描述:
不建议使用heronapi类,因为我们可能会经常更改它们。它们仅供内部使用。
backtype.storm是您的应用程序想要使用风暴1.0.0之前的版本。对于post 1.0.0应用程序,应该使用org.apache.storm