storm的特性与使用场景

Storm的一些关键特性

适用场景广泛: storm可以实时处理消息和更新DB,对一个数据量进行持续的查
询并返回客户端(持续计算),对一个耗资源的查询作实时并行化的处理(分布式
方法调用,即DRPC),storm的这些基础API可以满足大量的场景。
 可伸缩性高:  Storm的可伸缩性可以让storm每秒可以处理的消息量达到很高。
扩展一个实时计算任务,你所需要做的就是加机器并且提高这个计算任务的并行
度 。Storm使用ZooKeeper来协调集群内的各种配置使得Storm的集群可以很容易
的扩展。
3. 保证无数据丢失: 实时系统必须保证所有的数据被成功的处理。 那些会丢失
数据的系统的适用场景非常窄, 而storm保证每一条消息都会被处理, 这一点和
S4相比有巨大的反差。
4. 异常健壮: storm集群非常容易管理,轮流重启节点不影响应用。
5. 容错性好:在消息处理过程中出现异常, storm会进行重试
6. 语言无关性: Storm的topology和消息处理组件(Bolt)可以用任何语言来定义, 这一点使得任何人都可以使用storm.

Storm 应用场景

推荐系统:实时推荐,根据下单或加入购物车推荐相关商品(而不是相似商品)
金融系统
预警系统
网站统计:实时销量、流量统计


1.流聚合:流聚合把两个或者多个数据流聚合成一个数据流-基于一些共同的tuple字段

如:
2.批处理:有时候为了性能或者一些别的原因,你可能想把一组tuple一起处理,而不是一个个单独处理
如:
3.BasicBolt:读入一个输入tuple,根据这个输入tuple发射一个或者多个tuple,在execute的方法的最后ack那个输入tuple遵循这类模式的bolt一般是函数或者是过滤器,这种
模式很常见,storm为这类模式单独封装了一个接口:IbasicBolt
4.内存内缓存+Fields grouping组合。
5.计算top N:在多台机器上面并行的计算这个流每一部分的top N,然后再有一个bolt合并
这些机器上面所计算出来的top N算出最后的top N.
6.用TimeCacheMap来高效的保存一个最近被更新的对象的缓存
7.分布式RPC:CoordinatedBolt和KeyedFairBolt.storm做分布式RPC应用有两种常见的模式:他们被封装在CoordinateBolt和KeyedFairBolt里面
  CoordinatedBolt包装你的bolt,并且确定什么时候你的Bolt已经接受到所有的tuple,他主要使用DirectStream来做
  KeyedFairBolt:包装你的Bolt并且保证你的topology同时处理多个DRPC调用,而不是串行的一次只执行一个

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值