1.storm入门简介

Storm是什么?
StormTwitter开源的分布式实时大数据处理框架,被业界称为实时版Hadoop。(全量|增量     硬盘|内存     离线|实时)随着越来越多的场景对HadoopMapReduce高延迟无法容忍,比如网站统计、推荐系统、预警系统、金融系统(高频交易、股票)等等,大数据实时处理解决方案(流计算)的应用日趋广泛,目前已是分布式技术领域最新爆发点,而Storm更是流计算技术中的佼佼者和主流。
按照storm 作者的说法,Storm 对于实时计算的意义类似于Hadoop 对于批处理的意义。Hadoop 提供了map reduce 原语,使我们的批处理程序变得简单和高效。同样,Storm 也为实时计算提供了一些简单高效的原语,而且Storm Trident 是基于Storm 原语更高级的抽象框架,类似于基于Hadoop Pig 框架,让开发更加便利和高效。本课程会深入、全面的讲解Storm ,并穿插企业场景实战讲述Storm 的运用。

Storm 常见场景
推荐系统:实时推荐,根据下单或加入购物车推荐相关商品(而不是相似商品)
金融系统
预警系统
网站统计:实时销量、流量统计,如淘宝双11 效果图
 

实时处理
试想一下你自己实现实时计算的方案?
数据源务必实时,所以采用 Message Queue 作为数据源,消息处理Comsumer 实时从MQ 获取数据进行处理,返回结果到Web 或写DB
这种方式有以下几个缺陷:
1 、单机模式,能处理的数据量有限
2 、不健壮,服务器挂掉即结束。而Storm 集群节点挂掉后,任务会重新分配给其他节点,作业不受影响。
3 、失败重试、事务等,你需要在代码上进行控制,过多精力放在业务开发之外。
4 、伸缩性差: 当一个消息处理者的消息量达到阀值,你需要对这些数据进行分流, 你需要配置这些新的处理者以让他们处理分流的消息。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值