戳蓝字“CSDN云计算”关注我们哦!

Storm是Twitter开源的分布式实时大数据处理框架,被业界称为实时版Hadoop。  今天就为大家带来Storm诞生到发展再到实践,赶快学习起来吧!

1

Q:Storm的诞生。


A:在2011年Storm开源之前,由于Hadoop的火红,整个业界都在喋喋不休地谈论大数据。Hadoop的高吞吐,海量数据处理的能力使得人们可以方便地处理海量数据。但是,Hadoop的缺点也和它的优点同样鲜明——延迟大,响应缓慢,运维复杂。

有需求也就有创造,在Hadoop基本奠定了大数据霸主地位的时候,很多的开源项目都是以弥补Hadoop的实时性为目标而被创造出来。而在这个节骨眼上Storm横空出世了。

2

Q:Storm的特点

A:Storm带着流式计算的标签华丽丽滴出场了,看看它的一些卖点:

分布式系统:可横向拓展,现在的项目不带个分布式特性都不好意思开源。

运维简单:Storm的部署的确简单。虽然没有Mongodb的解压即用那么简单,但是它也就是多安装两个依赖库而已。

高度容错:模块都是无状态的,随时宕机重启。

无数据丢失:Storm创新性提出的ack消息追踪框架和复杂的事务性处理,能够满足很多级别的数据处理需求。不过,越高的数据处理需求,性能下降越严重。

多语言:实际上,Storm的多语言更像是临时添加上去似的。因为,你的提交部分还是要使用Java实现。

3

Q:Storm已经发展到0.8.2版本了,如今它取得的成就

A:有50个大大小小的公司在使用Storm,相信更多的不留名的公司也在使用。这些公司中不乏淘宝,百度,Twitter,Groupon,雅虎等重量级公司。

从开源时候的0.5.0版本,到现在的0.8.0+,和即将到来的0.9.0+。先后添加了以下重大的新特性:

使用kryo作为Tuple序列化的框架(0.6.0)

添加了Transactional topologies(事务性拓扑)的支持(0.7.0)

添加了Trident的支持(0.8.0)

引入netty作为底层消息机制(0.9.0)

Transactional topologies和Trident都是针对实际应用中遇到的重复计数问题和应用性问题的解决方案。可以看出,实际的商用给予了Storm很多良好的反馈。

在GitHub上超过4000个项目负责人。Storm集成了许多库,支持包括Kestrel、Kafka、JMS、Cassandra、Memcached以及更多系统。随着支持的库越来越多,Storm更容易与现有的系统协作。Storm的拥有一个活跃的社区和一群热心的贡献者。过去两年,Storm的发展是成功的。

4

Q:在Storm的学习过程中,感觉难以理解的部分有:1)Storm的反馈机制的设计原理;2)HBase用在线上栏位高可用保障方面的采集过程;3)前端栏位快照数据回流,每次访问过程中商品。这三个问题应该如何理解?

A:1)可以简单参考下图

实际生产环境中需要计算栏位的产品列表不同算法的一些实时指标,不断的反馈模型,修正相关因子或权重。

2)比如,采集0.98等版本的HBase,用默认的JMX不是很好,读到的某些数据往往是溢出的,不是很准,用HBaseClient接口收集相关更精确的数据

3)尽可能的保存每一个点击行为的当前的快照,比如商品当前的订单量、访问量、价格等,用来离线训练,这些数据全部都走tracker方式,数据量比较大,在调用服务端API的时候可以异步写到Kafka,再通过Gobblin等sync到HDFS。

5

Q:Kafka在Storm中的角色是什么呢?是作为分流的解决方案,还是作为通信的工具?Kafka的前置机是什么?数据量大的时候Kafka会不会崩掉?

A:Kafka在Storm之前扮演一个缓冲的消息队列;Kafka最开始的前置一般有Flume等,其他消息也可以直接往Kafka写,Storm的中间过程也可以存到Kafka中,当做一个消息队列来用;双十一的时候,分区设置小,Kafka满了,来不及处理崩过,写Kafka的时候;如果客户端直接写Kafka,也要注意,并发量大会把Kafka搞挂。采用异步写+本地缓存写Kafka,比如log4j写Kafka,基本的异步和本地缓存等已经做了,数据量再大的时候,加一层Flume等。

福利

1、扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!

2、公众号后台回复:白皮书,获取IDC最新数据白皮书整理资料!

推荐阅读:

  • Elastic Jeff Yoshimura:开源正在开启新一轮的创新 | 人物志

  • 深入浅出Docker 镜像 | 技术头条

  • 19岁当老板, 20岁ICO失败, 21岁将项目挂到了eBay, 为何初创公司如此艰难?

  • 码二代的出路是什么?

  • 机器学习萌新必备的三种优化算法 | 选型指南

  • 小程序的侵权“生死局”

  • @996 程序员,ICU 你真的去不起!

真香,朕在看了!

Storm精华问答 | 最火的流式处理框架——Storm相关推荐

  1. 【Storm】介绍--最火的流式处理框架

    伴随着信息科技日新月异的发展,信息呈现出爆发式的膨胀,人们获取信息的途径也更加多样.更加便捷,同时对于信息的时效性要求也越来越高.举个搜索场景中的例子,当一个卖家发布了一条宝贝信息时,他希望的当然是这 ...

  2. Storm:最火的流式处理框架

    Storm:最火的流式处理框架 伴随着信息科技日新月异的发展,信息呈现出爆发式的膨胀,人们获取信息的途径也更加多样.更加便捷,同时对于信息的时效性要求也越来越高.举个搜索场景中的例子,当一个卖家发布了 ...

  3. 流式处理框架storm浅析(下篇)

    本文来自网易云社区 作者:汪建伟 举个栗子 1 实现的目标 设计一个系统,来实现对一个文本里面的单词出现的频率进行统计. 2 设计Topology结构: 这是一个简单的例子,topology也非常简单 ...

  4. 分布式流式计算框架Storm

    Storm用于实时处理,就好比 Hadoop 用于批处理.         --> 离线计算:批量获取数据,批量传输数据,周期性比量计算数据,数据展示(Sqoop-->HDFS--> ...

  5. 流式计算框架Storm 编程案例部署Linux结果演示及pom依赖

    使用maven方式创建storm项目: <?xml version="1.0" encoding="UTF-8"?> <project xml ...

  6. 流式计算框架Storm编程案例:实时给手机品牌转大写并加上时间戳后缀代码示例

    导入jar包,保险起见,直接从storm安装目录拷贝,maven方式可能会因版本问题出现纰漏. 结果演示:

  7. Intellij IDEA 导入或运行流式处理框架storm以及java.lang.NoClassDefFoundError报错的解决方案

    网上有很多使用eclipse编辑storm的,但是我觉得eclipse界面不太友好,于是毅然使用intellij IDEA来编辑 但是直接无脑导入会有各种各样奇葩的报错,于是我在解决了问题之后与大家分 ...

  8. 流式计算框架Storm网站访问来源实时统计及存储到redis代码示例

  9. 流式计算框架Storm后台启动命令(避免新开窗口)

    ​​

最新文章

  1. solrcloud Read and Write Side Fault Tolerance
  2. Java异常之异常机制
  3. Ubuntu安装搭建Clion环境
  4. [Linux]几个armhf的ubuntu源
  5. java-web前端 javascript
  6. mysql 集群架构_mysql企业常用集群架构
  7. tornado框架hello world实践
  8. Tomcat 基于域名的虚拟主机设置
  9. Active Directory的安装
  10. vue3初探-工程化项目架构-笔记
  11. Unity3D流体插件FluidSim使用总结
  12. wordpress主题模板开发制作教程
  13. 系统安装部署系列教程(三):VHD方式安装系统
  14. 如何快速删除微博下拉词
  15. Hadoop-HDFS总结(五)
  16. 继承 super的讲解
  17. 工作了3年的JAVA程序员应该具备什么技能?
  18. DSP模块之:EDMA
  19. 一道简单的推理题(日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个)
  20. 铸件在计算机上的应用,计算机技术在熔模精密铸造中的应用

热门文章

  1. 创建一个storageevent事件_谈谈StorageEvent
  2. html5 原生拖拽,原生JS实现拖拽效果
  3. 为什么博导都希望,自己的博士生毕业也去高校当老师?
  4. 取火的N种方式:学好物理是野外求生第一步
  5. 只用一周的业余时间,这位逆天博士生解决了困扰数学界数十年的难题
  6. 湖南打工妹逆袭成为身价5亿“网络第一红娘”
  7. 7纳米!华为鲲鹏920芯片问世,最强性能面向智能计算
  8. 全球超算500强新榜发布:美国卫冕 中国力争
  9. 为什么人类的大脑认为数学“美”?
  10. 数据结构实验之查找一:二叉排序树