我发现不清楚读风暴文档究竟是什么apache风暴让我有一个消耗kafka主题并产生另一个话题的小进程?通过这种架构,我可以改变每个工作流程的数量,以适应哪些组件更慢等。据推测,风暴会给我自动容错和重新平衡的简易性?是否可能有任何性能改进?
答案 0 :(得分:2)
据推测风暴会给我自动容错和轻松重新平衡吗?
是的,它完全是关于容错和再平衡的:
Storm会密切关注大部分组件,并跟踪批次是否成功重播。如果不是,它将方便地重播它。 UI和logviewer是非常小的补充。另一个好处是Storm已经与所有主要数据库/队列(HDFS,Kafka,Kestrel,Cassandra等)集成,但由于你已经在输入类型上已经很稳定了,它对你来说可能并不那么重要。
是否可能有任何性能改进?
更像是相反的。具有相当普遍范围的现成解决方案几乎总是比ad-hoc系统更低性能。特别是,在窗口连接任务上,我们能够在6台机器的集群上每秒处理大约120k条记录,而我们自己专门为此任务设计的POC> 2.5倍吞吐量。如果您不打算将Storm用作各种不同管道的平台,那么值得考虑推出自己的实现。
答案 1 :(得分:1)
不仅风暴提供容错和重新平衡功能,它还具有一些适合实时事件处理的其他功能
当然,如果您的事件处理用例非常简单,并且您的架构中不需要上述任何一个,那么手动启动多个Java进程来读取Kafka主题的消息应该具有更好的性能。但实际上,情况并非如此。