storm保证消息被处理

    storm保证离开spout的每个消息都会被成功处理。

What does it mean for a message to be "fully processed"?

    离开spout的tuple可以触发成千的tuple被创建。
TopologyBuilder builder = new TopologyBuilder();
builder.setSpout("sentences", 
        new KestrelSpout("kestrel.backtype.com",
                         22133,"sentence_queue",new StringScheme()));
builder.setBolt("split", new SplitSentence(), 10).shuffleGrouping("sentences");
builder.setBolt("count",new WordCount(),20).fieldsGrouping("split",new Fields("word"));

    次topology读取离开kestrel队列的句子,并将句子分割成连续的单词,最后对每个单词输出多次。离开spout的一个tuple触犯多个tuple被创建。消息树如下:


    当tuple tree被消耗完,且tree中的消息都被处理时,离开spout的tuple被认定"full process"。在指定超时时间内消息树没有被"full process"时,认为失败。此超时时间可以通过Config.TOPOLOGY_MESSAGE_TIMEOUT_SECS配置,默认为30秒。
What happens if a message is fully processed or fails to be fully processed?
    


    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值