Chr*_*fer 39 trident apache-storm
我正在使用Storm,它适用于很多用例.最近我看了一下Trident,它是Storm的高级抽象.它支持一次性处理,使状态处理更容易.
但现在我想知道..为什么我不能总是使用Trident而不是Storm?
到目前为止我读到的内容:
使用Trident而不是Storm时还有其他缺点吗?因为现在,我认为上面列出的缺点是微不足道的.
Trident无法实现哪些用例?
后果:
自从我问到我的公司决定先去三叉戟这个问题.当出现性能问题时,我们只会使用纯粹的Storm.可悲的是,这不是一个积极的决定,它只是成为默认行为(当时我不在身边).
他们的假设是,在大多数用例中,我们需要状态或仅一次处理,否则我们将在不久的将来需要它.我理解他们的推理是因为从Storm转到Trident或者回来并不是一个简单的转换,但在我个人看来,没有状态的流处理的概念并没有被所有人理解,这是使用Trident的主要原因.
Joh*_*ore 44
回答你的问题:什么时候不应该使用Trident?每当你负担不起.
Trident增加了Storm拓扑的复杂性,降低了性能并生成了状态.问自己一个问题:你是否需要Trident的"一次性"处理语义,或者你能否接受Storm的"至少一次"处理语义.只需一次,使用Trident,否则不要.
我还想强调Storm确保所有消息都将被处理的事实.某些消息可能只被处理多次.
| 归档时间: |
|
| 查看次数: |
20496 次 |
| 最近记录: |