本文共 1089 字,大约阅读时间需要 3 分钟。
Storm集群中的任务通常被称为Topology(拓扑结构)。与Hadoop中的MapReduce任务类似,Topology中的Spout组件负责从外部数据源获取数据,并按一定格式将数据传递给Bolt进行后续处理。
在Storm中,一个最简单的Topology由一个Spout和一个Bolt组成。Spout从数据源中读取数据,将数据以特定格式(Tuple)传递给Bolt。Bolt则处理这组数据,完成后 Marty circulation(数据循环)的处理。每次Spout发送的数据单元称为Tuple,这些Tuple通过数据流连续传输,组成连续的Stream。
一个Topology中的组件(Components)目前仅包含Spout和Bolt。一个Topology中必须同时存在Spout和Bolt,Spout和Bolt的数量可根据实际需求自由调整。即使最简单的Topology,也必须包含一个Spout和一个Bolt。
Stream是连续数据传输的通道,其最小数据单元是Tuple。每条Stream由连续的Tuple组成。Storm是一个实时数据处理框架,独特之处在于,其处理流是增量式的。与批处理框架(如Hadoop)不同,Storm能够实时处理不断到达的新数据。
###拓扑结构的演进随着拓扑结构的复杂化,涉及的Spout和Bolt数量都会增加。例如:
###拓扑结构中的DAG(有向无环图)在Storm中,拓扑结构是由有向无环图(DAG)表示的。数据流的方向必须遵循拓扑结构中的方向,避免形成环路。例如,Spout负责从外部读取数据,Bolt则负责数据的处理。如果出现环路,则会造成数据无法完成处理,造成死循环。
###实际应用示例在实际应用中,拓扑结构可以根据具体需求进行设计。例如:
这种设计方式允许 Strom_TRAFFIC能够高效处理实时数据,满足应用的性能需求。
如果你有其他问题或需要进一步了解Storm拓扑结构的内容,可以随时告诉我!
转载地址:http://ytlmz.baihongyu.com/