Storm实时处理框架​​(一)

 

一 、 是什么:

       twitter开源的,分布式、流式计算、容错的实时计算系统。

 

二、有撒用:

     实时性场景

     对于大量存在的实时数据,如股票,实效性强,量大,需在流数据不断变化过程中实时计算分析,把结果推给用户。

     能提供 :适应流式数据,不间断查询,稳定,可扩展性强、分布式计算、并行计算、热点数据缓存策略、服务端计算

三、优点:

         免费开源根据需要自行扩展

         速度快 每个节点每秒可处理100W个数据元组

          分布式的,并行计算 ,能根据需要添加节点,水平伸缩

         健壮性 ,无状态宕机重启即可用

          具备容错能力,保证数据不丢失不重复

          流式计算方式   1 永久运行   2  速度方向可控

         基于nimbus与supervisor的一体高可用结构,简单配置,成熟的事物管理

        高效的底层通信

        多语言支持  如java、python 、Scala等         

       拓扑思想制定流处理规则,编程简单,能快速上手

四、设计思想

       拓扑流式处理,如下图

     Storm实时处理框架​​(一)

                                                  (源自官网)

           图中传达: 

                  1、拓扑构成    :水源 、 水   、 接收处理者

                  2、一个水源可以分发到不同的接收者进行处理

                  3、一个接收者 可以接收不同水源过来的 水滴

                  4、多个接收处理者处理完后的水滴能汇聚到下一个处理者

五、几个核心概念      

      Topologies 拓扑,整个流程串起来,由spout 和 bolt 组成

 

      Streams   消息流,抽象概念

 

      Spouts  产生数据/水的东西,消息流的源头,Topology的消息生产者

 

      Bolts    处理数据/水的东西,消息处理单元,可以做过滤、聚合、查询、写数据 到库中

 

     Tuple   数据/水,消息/数据 传递的基本单元

 

基本架构图

     Storm实时处理框架​​(一)

 

欢迎互粉交流     春叁十娘

Storm实时处理框架​​(一)