10.1 storm(分布式框架)

简介

分布式大数据处理框架

-	https://yq.aliyun.com/articles/709401
-	现在属于Apache
-	同样优秀的框架还包括--JStorm,Flink,SparkingStreaming


架构

-nimbus
	-集群的主节点,对整个集群的资源使用情况进行管理

-supervisor
	-指定节点数据监控情况

-woker
	-具体任务的执行者

-开发模式(DAG)
	https://baijiahao.baidu.com/s?id=1613728387077554506&wfr=spider&for=pc
	spout
		-数据源
	bolt
		-计算节点

-IO概念
	BIO
		Blocking IO
		阻塞式IO
	NIO
		NEW IO
		NOBlocking IO
	Netty
		https://www.cnblogs.com/imstudy/p/9908791.html


计算流程

-流式计算框架
	客户端将数据发送给MQ,然后传递到Storm中进行计算
	最终计算的结果存储到数据库中(HBase,Mysql)
	客户端不要求服务器返回结果,客户端可以一直向Storm发送数据
	客户端相当于生产者,Storm相当于消费者
-实时计算框架
	客户单将消息发送给DRPC
	然后转入到Storm进行计算,计算的结果要马上返回给客户端
-计算流程
	-spout
		-一般起到一个Storm数据源的作用
		-它会对接到一个外部的数据源(MQ),读取数据后封装一个Tuple对象,向后传递
		-我们一般会先给Stream指定ID,然后(emit)发送数据的时候给tuple指定一个StreamID
	-bolt
		-集群的数据计算节点
		-根据业务的复杂程度,可以选择Bolt的数量
	-我们在进行计算的时候,需要为bolt指定数据的来源
		-spout
		-其他的bolt
		-我们可以根据业务模型使用不同的方式获取数据
	-数据流
	-流中的数据被封装成Tuple对象进行流转
	-从Spout中源源不断传递数据给Bolt、以及上一个Bolt传递数据给下一个Bolt,所形成的这些数据通道即叫做Stream


数据分发策略

Shuffle Grouping
	-洗牌 随机分组

Field Grouping
	-使用某一个Tuple的hash取模选择目标Bolt
	-按照field的hash然后取模然后决定将该数据发送给那个节点
	
-all
	-发送给全部的下游

-none
	-随机发送给全部的下游
	-使用轮询机制

-direct
	-直接指定处理的下游

-local
	-本地

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值