【发布时间】:2013-01-15 13:53:05
【问题描述】:
我有一个数据流,基本上是一个 SQL 表,每分钟添加 30-50 条记录。需要以接近实时的速度处理(记录应该在出现在数据库后大约 10 分钟内处理)。我想在这里使用一些像解决方案这样的工作流来让我更容易处理所有记录。我需要这个解决方案来获得高可用性——系统应该在单独的硬件节点上工作,并且如果其中一个节点出现故障,它应该是容错的。基本上会发生这样的事情:
- 新记录已添加到数据库中
- 工作流开始处理它
- 在处理过程中做了一些事情(发送电子邮件、插入数据库等)
- 框架应该记住记录已经被处理过
另一个要求是,如果在处理其中一个记录期间出现错误,则不应阻止框架处理其他记录。它应该只记住这些特定记录需要重新处理。
我听说 twitter-storm 做了类似的事情,但在这里使用它不是矫枉过正吗?据我了解,它的主要目的是同时处理大量数据,我在这里根本不需要。
【问题讨论】:
标签: java workflow apache-storm