当前课程知识点:大数据系统基础 > 7. 流计算 > 授课视屏 > Video
最后我们来对比一下
我们介绍的这两个比较常见的
流处理系统S4和Storm
从编程模型的角度来讲
其实刚才我们都已经看到了
S4它比较简单
因为它对每个key
都产生一个pE
所以你在PE里面
编写代码的时候
只要编写每个key的行为就足够了
而storm它并没有给
每个key产生一个PE
它的一个bolt
实际上里面可以包含
很多个key所对应的这个的信息
所以你需要自己
来保存和处理更多的东西
所以从编程来讲
S4应该是更加简单
另外一个很重要的
在流处理中的这各模式
是推还是拉的问题
也就是说
我们有一个消息的来源
这个是producor
这是consumer
那到底是producor
把消息推给consumer
让consumer去处理
还是consumer来拉这个消息
在s4里面
采用的是这个推的这种方式
那么这个时候我们可以知道
这样的话
如果consumer里面的
这个缓冲区如果不够
那实际上这个消息
可能就会丢失了
因为可能已经全满了
没有地方放了
那storm是拉
storm采用的是一个拉的方式
拉的方式实际上可以想象
那如果我们一个bolt
在前面拉东西
再从前面拉东西
那么如果后面的bolt
处理能力不足
实际上最后会把
这个压力放在spout这个地方
就是来自源头这个地方
也就是说这样的话
它的这个消息速度的这个匹配
相对来说就比较好处理了
也就是说只要保证spout
这样一个地方能购承受这边
从这个需求产生的这些消息
只要从这个spout能够承担
那么它就可以把这个消息
缓存起来
然后后面的bolt
以自己的速率来拉它这个消息
从系统调整的角度来讲
系统性能调优和配置的角度来讲
storm来讲是具有一定的优势
那么从容错特征来讲
S4是不管消息丢失的
我们刚才讲到说
它采用的是非协调式的
checkpoint的方法
所以 它其实是不管消息的
不管消息实际上
对这个流计算应用
确实有很多不足的地方
那Storm
它的基础是保证消息被处理
至少一次
但是它还提出了
我们刚才讲到的(2:44)
在这个(2:46)底下
它可以实现消息被处理
而且只会被处理一次
最后一个也很重要的特征
实际上是社区
我们使用这些开元软件的时候
这些社区的支持
其实是非常非常重要的
Storm是Apache的这个顶级项目
社区非常的活跃
是由Twitter开发
主要由Twitter开发和使用
S4是还在Apache incubator里面
我们大家知道incubator
就像是是一个孵化器
相对于它的成熟度还没有那么高
主要是Yahoo开发和使用
-授课视频
--什么是大数据
--大数据典型应用
--大数据的特点
--大数据技术体系
--大数据生态系统
--大数据技术挑战
--课程内容
-1. 绪论--Quiz 1
-授课视频
--2.2并行化理念
--2.9计算虚拟化
-2.云计算--Quiz 2
-授课视频
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
-3.文件存储--Quiz3
-授课视频
--4.13类似框架
--4.14章节总结
-4. 处理框架--Quiz4
-授课视频
-5.内存计算--Quiz5
-授课视频
--数据副本及一致性
--节点本地数据存储
-6. NoSQL--Quiz6
-授课视屏
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
-7. 流计算--Quiz7