博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实时处理与流处理
阅读量:6686 次
发布时间:2019-06-25

本文共 960 字,大约阅读时间需要 3 分钟。

  hot3.png

要说实时处理就得先提一下实时系统(Real-timeSystem)。所谓实时系统就是能在严格的时间限制内响应请求的系统。例如如果某系统能严格保证在10毫秒内处理来自网络的NASDAQ股票报价,那么这个系统就可以算作实时系统,至于系统是通过软件还是硬件或者通过怎样的设计达到的都不限。

虽然看似简单,实际上现实世界中这种系统是很难实现的,尤其是软件实现的实时系统。因为你的进程可能随时被其他进程抢占,CPU调度器无法保证能给你的进程所需的时间和资源来在严格时间限制内完成响应。因此就有了各种实时操作系统内核。现实中实时系统的例子能想到的如军方的导弹控制系统和航天飞机等高精尖的软件系统了。

实时处理(Real-time Processingor Computing)又是什么?与实时系统类似,但软件工业中似乎对实时二字没有什么明确的定义。例如许多人说实时交易,实际上是因为市场数据瞬息万变,决策经常在毫秒间。一个软实时(Soft Real-time)的例子是Amazon要求所有软件子系统在处理99%的请求时,都能在100-200毫秒内要么给出结果要么立刻失败。

说完实时处理再看流式处理(Stream Processing)。望文生义,流式处理就是指源源不断的数据流过系统时,系统能够不停地连续计算。所以流式处理没有什么严格的时间限制,数据从进入系统到出来结果可能是需要一段时间。然而流式处理唯一的限制是系统长期来看的输出速率应当快于或至少等于输入速率。否则的话,数据岂不是会在系统中越积越多(不然数据哪去了)?如此,不管处理时是在内存、闪存还是硬盘,早晚都会空间耗尽的。就像雪崩效应,系统越来越慢,数据越积越多。

所以我们可以说Storm框架是一种流式处理系统的框架。如果我们的代码能够保证Storm的Topology中每个Bolt结点处理数据的时长一定,那么我们就相当于用Storm开发了一个(软)实时的系统。顺便提一句,又比如Spark这个主要是内存计算框架,在加入了Streaming Spark子项目后,能将数据流切分并转化成RDD进行后续计算,从而也支持了流式处理(否则之前Spark都是以固定的一坨数据为输入的)。

转载于:https://my.oschina.net/tbaby/blog/601265

你可能感兴趣的文章
【推荐】(SqlServer)不公开存储过程sp_Msforeachtable与sp_Msforeachdb详解
查看>>
在结构体内定义宏
查看>>
TURBOGATE邮件网关——最经济高效的企业网关选择
查看>>
MS14-058 最新提权神器
查看>>
数据挖掘算法(Analysis Services – 数据挖掘)
查看>>
Apache配置详解(最好的APACHE配置教程)
查看>>
JAVA笔记——String类
查看>>
我的友情链接
查看>>
CentOS 7 下基于基 bitnami 安装部署 redmine
查看>>
DEDE 标签汇总
查看>>
华章1-2月份新书简介(2019年)
查看>>
我的友情链接
查看>>
linux ubuntu apt-get 更换源
查看>>
【Web探索之旅】第二部分第三课:框架和内容管理系统
查看>>
Javascript中公有成员,私有成员,静态成员
查看>>
SHELL脚本练习
查看>>
DB2-内存的使用
查看>>
ZooKeeper安装与配置(Linux --- 转)
查看>>
最新勒索软件病毒防范方法及措施
查看>>
NIO学习系列:缓冲区内部实现机制
查看>>