我想为apache heron编写一些自定义调度程序,我正在深入探讨源代码。我注意到在苍鹭源代码中有几个包含类似类的包。例如backtype.storm
&中的大多数类。 org.apache.storm
类似(完全相似,内部代码相同)。在这两个包和com.twitter.heron
之间也有一些类似的类(例如com.twitter.heron.api.tuple.Fields
),但是其中一些包含不同的代码(例如Fields类)。我知道在编写拓扑时我们可以导入我们想要的每个包,我们可以在其中任何一个之间进行选择,但我很好奇它们之间的差异以及它们为什么将所有这些包放在一起。并没有合并他们?如果风暴类是编写拓扑的唯一选择,那么com.twitter.heron
包中的类有哪些优点?
我知道苍鹭的设计是完全向后兼容风暴,这可能是因为向后兼容问题,但我不得不承认这让我很困惑,因为我需要在这些内部编写我自己的代码课程,我不知道如何选择哪一个,哪个是开发人员不断开发和维护的,我应该选择它们作为候选人进行修改。
提前致谢。
答案 0 :(得分:1)
基于here中开发人员团队的说明:
不建议使用heron api类 - 因为我们可能经常更改它们。它们仅供内部使用。
backtype.storm是你的应用程序想要使用风暴前1.0.0。对于1.0.0之后的应用程序,您应该使用org.apache.storm