Storm中数据的输入输出

左心房为你撑大大i 提交于 2019-11-29 22:45:28

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

概述

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

我写了Spout和Bolt,创建了Topology,提交到了Cluster中,然后呢?

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

想象中的办法

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

理论上感觉应该是可行的,但是没有实践。

实际可以通过DPRC访问

进一步研究,发现有DRPC这个咚咚,只需要起一个DRPC Server ,并且把Topology创建为DRPC Topology,提交。就可以通过DRPCClient对该topology进行访问了。十分方便。

Storm中专业的做法

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

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

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

Spout implementations


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!