在风暴中运行多个拓扑

时间:2016-10-12 07:45:52

标签: apache-storm

如何在风暴中拥有多个拓扑。拓扑也可以相互交互吗? 我想要一个拓扑做一些事情并在数据库中插入数据。然后来自其他拓扑的其他线程可能应该从数据库中选择数据并执行所需的任务。

如果他们是任何教程,请建议。

2 个答案:

答案 0 :(得分:1)

是的,您也可以为同一个风暴节点运行多个拓扑(对于同一个风暴管理员)。 通过打开多个端口并提交两种拓扑结构。

def jsonFieldName = "store.bicycle.brand"
def json = new JsonSlurper().parseText (response)

jsonFieldName.split("\\.").each{json = json[it]}

assert json == 'Cannondale'

您还可以在代码中动态设置 worker.childopts 等设置。

答案 1 :(得分:1)

拓扑之间没有本地支持的交互方式,但是您正在共享数据库,因此如果您将数据写入数据库(如消息日志),则可以将其用于消息队列。如果您将数据写入数据库与消息日志不同,则可能需要另一个表进行记录,然后让其他拓扑跟踪。如果您只是为了将数据传递到其他拓扑而写入DB,则首选采用消息队列(如Apache Kafka)。