1、storm拓扑应用开发步骤
storm拓扑的开发,主要有三个步骤:
选择合适的spout
storm提供的DRPCSpout用于同步请求场景,KestrelThriftSpout用于异步请求的场景,这两者已经能满足大多数需求,根据应用需要选择即可。
开发bolt
bolt开发最主要的工作是实现execute()回调函数,由bolt收到数据时调用。execute函数里实现的是具体的业务逻辑,获取输入数据、进行处理、输出新的数据
开发topology,组合spout和bolt
调用TopologyBuilder类的setSpout和setBolt方法,将spout和bolt组合成我们的应用。
2、storm 应用代码示例
下面是一个同步计算输入字符串的MD5值的storm应用,注释中详细介绍了各段代码的含义和用途。
public class Md5Topology {
// 自定义的bolt继承BaseBasicBolt类
public static class Md5Bolt extends BaseBasicBolt {
@Override
public void execute(Tuple tuple, BasicOutputCollector collector) { // tuple是输入,collector用于输出
// 获取tuple的第一个字段
String input = tuple.getString(0);
// 业务逻辑处理,这里就是简单的计算md5值
String output = Md5Util.getMD5Str(input);<