Spark streaming vs JStorm
大部分时候大家在选择技术方案的时候还是比较迷茫,是该选择JStorm还是Spark Streaming?
一般会流于一些并不重要问题的讨论,最后做出目光非常短浅的选择,几个月之后再改变技术方案。造成严重的开发量的浪费,甚至拖延关键产品的上线,或者上线后问题层出不穷,不断和业务方妥协谈判。所以,明确这两个最主流的流计算框架的应用场景至关重要,下面我说下经验之谈,避免更多的人走弯路。
Spark Streaming和JStorm的本质区别是想要解决的问题不同:
Spark Streaming是批量处理的Spark向流计算多迈了一步;
JStorm是真正的流式流水线计算向批量计算(trident可以有部分的批量处理)多迈出了一步。
使得看似毫不相关的两个问题有了交集。这个交集让很多人困惑。其实根本的问题是真正理解流计算本质的项目负责人少之又少。流计算不是实时计算。实时计算和离线计算对应,是计算的场景,是需求。流计算和批量计算对应是计算的方式。流计算的本质是:无状态性!批量计算的本质是有状态计算,或者说没有状态性的批量计算根本就是流计算,只是把时间维度的计算变成了空间维度的计算。而有状态的流计算本质也是批量计算,只是把状态的需求藏在流式之外的闭包中。这么看了,一切了然,根本没什么交集,判断自己的项目使用哪种技术方案根本不需要问询需求方:你要多少的延迟?如果你只是需要低延迟,那你只是在挑战现在计算机的计算能力。真正你要关心的是业务计算的逻辑是不是主要是无状态的。
下面举一个使用流计算的主要场景:
用户行为log的基本sum,count,distinct需求: 这里的log数据量巨大,如果技术方案不对,将对公司资源造成极大浪费。这个需求中,sum,count都是无状态的计算,但是distinct确是有状态的计算,所以最好的解决方案是sum,count在JStorm中计算,distinct在Spark中计算。但是两个系统同时存在会带来很多问题,数据落地拉起的延迟,这在阿里还是很大的瓶颈。但如果不考虑数据落地拉起,那么Storm接Spark是最好的技术方案之一。
其实还有很多项目都存在大量的状态保存的需求,都是需要使用Spark Streaming来计算的。其实就算使用Spark和Storm的混合架构,数据两次进内存(进程间数据流)也是对网络带宽的浪费,所以如果在不考虑很高的实时要求的情况下,对于有状态运算的项目完全可以用Spark Streaming取代掉Storm。对于没有状态的项目,当然可以完全用JStorm了。,

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Elasticsearch yellow 意味着主分片可用,副本不可用
摘自:http://unasm.com/2016/11/644/ 在通过/_cluster/state 命令查看es 状态的时候,发现es 处于一个yellow的状态, 这个很奇怪,按照官方的解释,就是所有主分片都是处于可用状态,但是有复制分片不可用。为什么有复制分片不可用呢? 通过/_cat/shards 查看,发现有从分配处于一个未分配的状态,该命令该出的数据奇怪的地方是,我的集群明明有三台机器,但是shareds里面只给出了两台。 data 2 r STARTED 449516 1.6gb 100.73.22.5 22-5 data 2 p STARTED 449516 1.6gb 100.73.22.6 22-6 data 2 r UNASSIGNED 然后通过查阅官方手册,查询UNASSIGNED 的原因,然后发现很多种可能性的,但是官方的api 的case里面,shards 是直接给出了原因的,但是我的es却没有给出原因。怎么办呢?在api文档里面找答案,发现了/_cluster/reroute 的命令,一看就知道是救星,既然状态是UNASSIGNED, 我手动指定 该切片...
- 下一篇
10月第3周安全回顾:恶意软件肆虐 Web安全重点关注
本文同时发布在: [url]http://netsecurity.51cto.com/art/200810/94116.htm[/url] 安全业界呈现平静下暗流涌动的态势:安全业界在互联网Botnet之战中取得里程碑式的胜利,然而用户也不能因此松一口气,针对用户移动设备的攻击浪潮正蓄势待发。另外,最近一段时间第三方机构的测评和研究结果表明,目前安全产品和技术的发展开始出现落后于攻击技术发展的苗头;当然也并不是所有的新闻都是令人沮丧的,本周安全产品和市场方面也有些值得关注的积极消息。 本周(081013至081019)安全要闻回顾 本周的信息安全威胁程度提升为中,请朋友们及时更新系统和安全软件,并在浏览网站及网络活动时保持安全的使用习惯。 在本期回顾的最后,笔者同样精选了2个值得读者一看的推荐阅读文章。 恶意软件:Storm Botnet活动趋于停止;卡巴斯基称操作系统仍不安全;关注指数:中 如果问起互联网上最为著名的僵尸网络是谁,估计大部分安全厂商都会回答是Storm 僵尸网络——在2006至2008年度,这个名为风暴的僵尸网络曾在互联网上疯狂肆虐,并一度感染了超过百万的联网计算...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群
- CentOS8编译安装MySQL8.0.19
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker安装Oracle12C,快速搭建Oracle学习环境
- 设置Eclipse缩进为4个空格,增强代码规范
- MySQL8.0.19开启GTID主从同步CentOS8