码迷,mamicode.com
首页 > 其他好文 > 详细

Storm的核心技术和基本组成

时间:2015-08-16 10:40:18      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:

Storm框架的核心由7个部分组成,如图:

 

技术分享

Topology(拓扑)

  一个拓扑是一个图的计算。用户在一个拓扑的每个节点包含处理逻辑,节点之间的连接显示数据应该如何在节点间传递。Topology的运行时很简单的。

Stream(流)

  流是Storm的核心抽象。一个流是一个无界Tuple序列,Tuple可以包含整型、长整型、短整型、字节、字符、双精度数、浮点数、布尔值和字节数组。用户可以通过自定义序列化器,在本机Tuple使用自定义类型。

Spout(喷口)

  Spout是Topology流的来源。一般Spout从外部来源读取Tuple,提交到Topology(如Kestrel队列或Twitter API)。Spout可以分为可靠的和不可靠的两种模式。Spout可以发出超过一个流。

Bolt(螺栓)

  Topology中的所有数据的处理都在Bolt中完成。Bolt可以完成数据过滤、业务处理、连接运算、连接、访问数据库等操作。Bolt可以做简单的流转换,发出超过一个流,主要方法是execute方法。完全可以在Bolt中启动新的线程做异步处理。

Stream grouping(流分组)

  流分组在Bolt的任务中定义流应该如何分区。Storm有7个内置的流分组接口:随机分组(Shuffle grouping)、字段分组(Fields grouping)、全部分组(All grouping)、全局分组(Global grouping)、无分组(None grouping)、直接分组(Direct grouping)、本子或者随机分组(Local grouping或Shuffle grouping)。

Task(任务)

  每个Spout或Bolt在集群中执行许多任务。每个任务对应一个线程的执行,刘分组定义如何从一个任务集到另一个任务集发送Tuple。可以通过TopologyBuilder类的setSpout()和setBolt()方法来设置每个Spout或Bolt的并行度。

worker(工作进程)

  Topology跨一个或多个Worker节点的进程执行。每个Worker节点的进程是一个物理的JVM和Topology执行所有任务的一个子集。

 

Storm的核心技术和基本组成

标签:

原文地址:http://www.cnblogs.com/mengyao/p/4733622.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!