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

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


640?wx_fmt=png

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


640?wx_fmt=gif1

Q:Storm的诞生。


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


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


640?wx_fmt=gif2

Q:Storm的特点


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

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

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

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

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

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


640?wx_fmt=gif3

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的发展是成功的。


640?wx_fmt=gif4

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


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

640?wx_fmt=jpeg


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

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

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


640?wx_fmt=gif5

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


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


640?wx_fmt=png


福利

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


640?wx_fmt=jpeg

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


推荐阅读:

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

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

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

  • 码二代的出路是什么?

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

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

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


640?wx_fmt=png真香,朕在看了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/523941.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Guns 添加功能实现_入门试炼05

找到添加页面,进行修改 源代码: 默认这些表平淡中的字段都需要,手写,不需要手写的可以删除,用别的策略代替即可 第一处: id 数据库设置的是自增的因此不需要,删除 第二处:房屋交付…

浪潮云ERP到底属于什么水平?

戳蓝字“CSDN云计算”关注我们哦!极客头条:速递、最新、绝对有料。这里有企业新动、这里有业界要闻,打起十二分精神,紧跟fashion你可以的!常常听到企业应用市场三巨头,用友、金蝶、浪潮,但如果问…

Guns 编辑功能实现_入门试炼06

一、编辑功能默认实现 未修改前的样图: 案例演示: 将刘英3 、北京大兴区2、次渠2,更新为刘英5 、北京大兴区5、次渠5 选中需要修改的那条数据,点击修改按钮。 未提交表单前: 更新完成后: 想学习更多…

小米回应有品特殊激励需放弃年终奖……外媒说,荷兰运营商KPN允许华为有限参与5G网络建设;传苹果挖角英特尔5G工程师...

关注并标星星CSDN云计算极客头条:速递、最新、绝对有料。这里有企业新动、这里有业界要闻,打起十二分精神,紧跟fashion你可以的!每周三次,打卡即read更快、更全了解泛云圈精彩newsgo go go AT&T实现2Gbps的…

Guns 删除功能_入门试炼07

一、删除功能默认实现 选中需要删除的数据执行删除操作即可 删除前截图: 删除后截图: 从截图中可以看出,删除的那条数据已经不在了。 想学习更多微服务、分布式、中间件、数据库、项目快速构建等系列技术 请跳转Gblfy个人专栏: www.gblf…

第一次更名为OpenInfra的“她”,给我们带来了哪些惊喜?| 技术头条

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!在美国丹佛阴冷的天气中,开源业界最顶级的技术峰会,前身为Open…

稳居亚太第一,阿里云进军全球;李彦宏候选工程院院士;苹果巨大损失:工业设计核心元老纷纷离职……...

关注并标星星CSDN云计算极客头条:速递、最新、绝对有料。这里有企业新动、这里有业界要闻,打起十二分精神,紧跟fashion你可以的!每周三次,打卡即read更快、更全了解泛云圈精彩newsgo go go 【5月1日 星期三】云の声音不…

Guns 切换Oracle分支

远程拉取Guns代码 git clone gitgitee.com:gb_90/guns.git进入本地拉取Guns代码的目录下面 cd guns/切换到oracle分支 git checkout oracle切换到未删除Oracle配置的历史版本 提交id号是 :24466d6 git reset --hard 24466d6查看; dir导入idea开发工具效果…

ZStack张鑫:面对混合云浪潮 我们主动出击

戳蓝字“CSDN云计算”关注我们哦!极客头条:速递、最新、绝对有料。这里有企业新动、这里有业界要闻,打起十二分精神,紧跟fashion你可以的!人类首次捕获黑洞照片,让我们看到了原本幽暗的宇宙,也有…

MyBatis-Plus_简介

第 1 章 简介 MyBatisPlus 介绍 MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 代码及文档发布地址 官方地址: http://mp.baomidou.com 代码发布地址: G…

解决ORA-00257: 归档程序错误。在释放之前仅限于内部连接

文章目录一、预先准备1. 现象2. 异常信息3. 分析二、解决方案2.1. 登录oracle2.2. 查看ARCHIVED LOG空间占用率2.3. 查看元空间大小2.4. 整空间上限2.5. 结果验证一、预先准备 1. 现象 场景1: 昨天尝试通过plsqldev尝试连接oracle数据库,报错&#xff…

qt中根据数据解析的结果动态的创建控件并布局

引言 有时候程序中的控件的个数是无法预测的,当程序启动时,根据解析的数据动态的创建n行m列的控件,并为其布局。下面记录一下动态创建控件,并布局。 运行效果 示例 此示例主要是从json配置文件中读取参数,然后根据参…

5分钟带你了解Kafka的技术架构 | 技术头条

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!大家都知道 Kafka 是一个非常牛逼的消息队列框架,阿里的 RocketMQ 也是在 …

Spark精华问答 | Spark的计算方法是什么?

戳蓝字“CSDN云计算”关注我们哦!Spark是一个针对超大数据集合的低延迟的集群分布式计算系统,比MapReducer快40倍左右,是hadoop的升级版本,Hadoop作为第一代产品使用HDFS,第二代加入了Cache来保存中间计算结果&#xf…

qt中创建控件布局以及删除原有布局和控件

引言 当根据数据来创建控件并布局时,如果数据更新,那么之前创建的控件便需要删除后重新创建布局。该文主要说明将原来的布局和控件删除,重新创建并布局。 示例 先看一下ui文件: 下面是实现代码: void StatusViewDi…

Spring精华问答 | Spring 能帮我们做什么?

Spring框架是一个开源的Java平台,它提供了非常容易,非常迅速地开发健壮的Java应用程序的全面的基础设施支持。今天就让我们一起来看看关于Spring的精华问答吧。1Q:什么是Spring框架?A:Spring框架是一个为Java应用程序的开发提供了综合、广泛的…

linux 上传文件 rz命令 提示command not found 解决方法

-bash: rz: command not found rz命令没找到? 执行sz,同样也没找到。 安装lrzsz: yum -y install lrzsz现在就可以正常使用rz、sz命令上传、下载数据了。 使用方法: 上传文件 rz filename下载文件 sz filename

IoT与大数据 如何激发数字营销最大潜能?

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!译者:风车云马 物联网与大数据概述物联网(IOT)简单理解,除了电…

qt中生成含有中文的json文件,读取含有中文的json文件

引言 之前将变量保存并在本地生成json文件,由于其中含有中文,导致生成的json文件出现乱码,或者就是生成的json文件没有乱码,但是读取生成的json文件时出现乱码,不能正常解析json. 示例 运行效果: 下面是…

年初新立Flag,新华三解决方案部做了点儿啥?

戳蓝字“CSDN云计算”关注我们哦!极客头条:速递、最新、绝对有料。这里有企业新动、这里有业界要闻,打起十二分精神,紧跟fashion你可以的!人人都提及的数字化时代,企业不想方设法提升效率怎么行&#xff1f…