Storm可靠的Bolt与不可靠的Bolt

Storm确保每个Spout发出的消息会被Bolt完全处理。可靠Bolt通过在execute()方法中进行ack(tuple)或fail(tuple)来跟踪处理状态。不可靠Bolt则使用IBasicBolt接口,如BaseBasicBolt,执行execute()后自动ack()。SplitSentence类展示了如何实现可靠Bolt,而自动确认简化了编码流程。
摘要由CSDN通过智能技术生成

Storm可以保证每个Spout发射的消息会被所有的Bolt完全处理。这是设计时要考虑的因素,这意味着程序员将决定Bolt是否需要保证消息处理。

可靠Bolt的execute()方法如下:

@Override
	public void execute(Tuple input) {
		String sentence = input.getString(0);
		for (String word : sentence.split(" ")){
			collector.emit(input,new Values(word));//发射时带上元组
		}
		//手动调用ack()方法,保证消息处理成功
		collector.ack(input);
	}

不可靠Bolt的execute()方法如下:

@Override
	public void execute(Tuple input) {
		String sentence = input.getString(0);
		for (String word : sentence.split(" ")){
			collector.emit(new Values(word));
		}
	}

使用Anchoring机制实现可靠的Bolt

拓扑是一个消息(Tuple

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值