
# Storm样例程序开发思路
通过典型场景，您可以快速学习和掌握Storm拓扑的构造和Spout/Bolt开发过程。
#### 场景说明
一个动态单词统计系统，数据源为持续生产随机文本的逻辑单元，业务处理流程如下：
- 数据源持续不断地发送随机文本给文本拆分逻辑，如"apple orange apple"。
- 单词拆分逻辑将数据源发送的每条文本按空格进行拆分，如"apple"，"orange"，"apple"，随后将每个单词逐一发给单词统计逻辑。
- 单词统计逻辑每收到一个单词就进行加一操作，并将实时结果打印输出，如：
  - apple：1
  
  - orange：1
  
  - apple：2
   
 
#### 功能分解
根据上述场景进行功能分解，如[表1]所示。
 表1在应用中开发的功能 
| 序号 | 步骤                         | 代码示例                                                                             |
|:---|:---|:---|
| 1  | 创建一个Spout用来生成随机文本          | 请参见[创建Storm Spout](https://support.huaweicloud.com/devg-mrs/mrs_06_0275.html)    |
| 2  | 创建一个Bolt用来将收到的随机文本拆分成一个个单词 | 请参见[创建Storm Bolt](https://support.huaweicloud.com/devg-mrs/mrs_06_0276.html)     |
| 3  | 创建一个Bolt用来统计收到的各单词次数       | 请参见[创建Storm Bolt](https://support.huaweicloud.com/devg-mrs/mrs_06_0276.html)     |
| 4  | 创建topology                 | 请参见[创建Storm Topology](https://support.huaweicloud.com/devg-mrs/mrs_06_0277.html) |
   
部分代码请参考[创建Storm Spout](https://support.huaweicloud.com/devg-mrs/mrs_06_0275.html)，[创建Storm Bolt](https://support.huaweicloud.com/devg-mrs/mrs_06_0276.html)，[创建Storm Topology](https://support.huaweicloud.com/devg-mrs/mrs_06_0277.html)，完整代码请参考Storm-examples示例工程。
