流数据处理strom
在2011年Storm开源之前,由于Hadoop的火红,整个业界都在喋喋不休地谈论大数据。Hadoop的高吞吐,海量数据处理的能力使得人们可以方便地处理海量数据。但是,Hadoop的缺点也和它的优点同样鲜明——延迟大,响应缓慢,运维复杂。
有需求也就有创造,在Hadoop基本奠定了大数据霸主地位的时候,很多的开源项目都是以弥补Hadoop的实时性为目标而被创造出来。而在这个节骨眼上Storm横空出世了。
一个计算任务成为一个Topology(拓扑逻辑),由多个spout和多种bolt组成
stream:数据流,是时间无上界的tuple元祖序列
Tuple:一次消息传递的基本单元,可以被理解为键值对
task:逻辑线程,是不会变的,又代码决定
executor:物理线程,每一个executor执行多个task,executor是动态分配的,和整个集群相关,因此一个集群不止有一个job,当所有的executor用完时,新提交的job只能等待