1

我们有一个现有的设置,上游系统在消息队列上向我们发送消息,我们处理这些消息。内容是 xml,我们只是解组。这个解组步骤之后是写入 db(将相关值放入相关列) . 该系统将与更多上游系统连接,我们的产量将增加到每天 40 毫米的峰值尺寸。

我们当前的处理方式是在队列中设置监听器,然后使用多个生产者和消费者线程进行解组和后续的数据库写入。

我的问题:这个过程是否适合 Storm 用例场景?我的意思是 MQ 可以成为我的喷口,我有 2 个螺栓要解组,然后这将成为下一个写入 db 的螺栓的喷口?

如果是,我可以获得什么好处?是否可以告别繁琐的多线程生产者/工作者代码模式。如果它像上面那样简单,那么在哪里/为什么要使用传统的多线程方法来处理生产者/消费者场景我的观点是,与传统方法相比,Storm 开始大放异彩的数据量/频率。

PS:我对此很陌生,并试图掌握这一点,并想确定思路是否正确

问候, CVM

4

1 回答 1

3

当然,这种情况可以适应风暴拓扑。spout 可以从 MQ 中拉出,而 bolts 可以处理解组和后续处理。

与传统多线程模式相比的主要好处是能够随着负载的增加添加更多的工作节点。对于传统的生产者消费者模式来说,这并不容易。

具体的数据量是一个非常广泛的问题,因为它取决于硬件等大量因素。

于 2013-04-13T03:18:49.737 回答