Storm中数据的输入输出

转载请注明出处:http://blog.csdn.net/jmppok/article/details/17284817
git

概述

Storm是一个实时流处理系统,其中运行的是Topology。初学Storm的小伙伴可能会有这样的问题:github

我写了Spout和Bolt,建立了Topology,提交到了Cluster中,而后呢?redis

怎么访问并使用这个Topology呢?数据库

想象中的办法

刚开始接触Storm的时候,我猜测大概能够经过在Spout中监听一个端口如TCP Socket,HTTP之类的,外面向这个端口发送数据. 而后再最后一个Bolt中将处理数据写入文件/数据库/或者发送到指定的地址上。markdown

理论上感受应该是可行的,可是没有实践。
并发

实际能够经过DPRC访问

进一步研究,发现有DRPC这个咚咚,只须要起一个DRPC Server ,而且把Topology建立为DRPC Topology,提交。就能够经过DRPCClient对该topology进行访问了。十分方便。
app

Storm中专业的作法

再深刻一步,发现原来Storm中正确的作法应该是这样的:spa

集成一个通信中间件,外部应用经过该中间件发送数据,Spout订阅这些数据,并发射....,当Bolt处理完以后又可经过该通信中间件发送出去给应用。.net

具体可参考:https://github.com/nathanmarz/storm/wiki/Spout-implementations
orm

Spout implementations

相关文章
相关标签/搜索