原创文章,欢迎转载。转载请注明出处 http://blog.csdn.net/jmppok/article/details/16845199
都说Storm是一个实时流处理系统,但Storm的实时性体现在什么方面呢?
首先有一个前提:这里的实时性和我们通常所说的实时系统(芯片+汇编或C编写的实时处理软件)的实时性肯定是没法比的,也不是同一个概念。
这里的实时性应该是一个相对的实时性(相对于Hadoop之类)
从网上找了一些资料:
总结一下,Storm的实时性可能主要体现在:
1.相比Hadoop,Storm是为实时处理而设计的;
2.Storm的Topology启动后,一直处理就绪状态,等待数据输入,一旦有数据会立即处理;这一点不同于Hadoop,Hadoop每处理一个Job都需要重新提交,而且对于实时到来的数据也无法立即处理。“Storm中流动的是数据,Hadoop中流动的是代码”,这个说法很精辟。
3.Storm在处理过程中基于Stream,不写文件和数据库,而且使用ZeroMQ传递消息(传说中最快的MQ),所以处理速度很快,自然也提高了实时性;
4.翻译上面的英文:Hadoop能在几分钟之内处理一批海量数据(处理一个Job),而Storm仅需要几秒,所以说Storm是Hadoop的实时处理系统。