【发布时间】:2015-09-10 10:11:28
【问题描述】:
我们正在尝试构建一个实时通知系统并使用 Apache Storm。
为此,我们有一个消息代理 (RabbitMq),它负责从发布者那里获取数据,并在订阅者端使用 Listner 将其推送到订阅者。
现在,我需要对消息代理接收到的每个事件进行一些处理(对数据库进行一些调用,并基于此决定是否要进一步处理它)。
理想情况下,storm 应该从流中读取事件数据(在我们的例子中是 Message Broker)。但是由于我们必须对事件进行一些操作并决定是否应该将其馈送到螺栓进行处理,我应该在我的 Spout 中执行该逻辑还是应该有一个单独的组件,比如一种将发送的调度程序它到 Spout 。基本上,spout 应该包含任何类型的业务逻辑吗?此外,考虑到我们在一秒钟内有数百万个事件发生,是否足以将这么多的负载放在 spout 上。
【问题讨论】:
标签: rabbitmq apache-storm