Stream消息流
消息流是Storm中最关键的抽象,是一个没有边界的Tuple序列,这些Tuple以分布式的方式并行地创建和处理。定义消息流主要是定义消息流中的Tuple。每个消息流在定义时都会分配一个ID,因为单向消息流很普遍,OutputFieldsDeclarer定义了一些方法可以定义一个流而不用指定其ID。在这种情况下,该流有一个默认的ID。
Stream Grouping消息流组
定义Topology的其中一步是定义每个Bolt接受何种流作为输入。Stream Grouping(消息流组)就是用来定义一个流如何分配Tuple到Bolt。Storm包括6种流分组类型。
1)随机分组(Shuffle Grouping):随机分发元组到Bolt,并保证每个Bolt获得相等数量的元组。--达到负载均衡效果。
2)字段分组(Fields Grouping):根据指定字段分割数据流并分组。例如,根据“user-id”字段