本质

1.基于消息的流水线处理模型
2.是一套类似MapReduce一样的编程模型
3.内核是一套调度系统

适合的业务

1.高并发的计算任务
2.数据流之间相互无依赖

编程模型

1.Topology:即一个数据流的拓扑结构,包含多个Spout和Bolt
2.Spout:从外部获取数据,包含DB,H ,Kafka等
3.Bolt :计算单元,系统内计算流转数据
1.png

角色

1.Nimbus: 资源调度角色,可主备
2.Supervisor: 接受nimubs 任务安排,启动任务,管理Worker
3.Worker: 进程
4.Executor: 执行线程,继承自Runnable
5.Task: 执行逻辑单元,继承自Runnable

ack机制

ack闭环,保证数据不丢失(以后会结合源码分析ack实现)
1.png

1.设置acker 的并行个数,如果设置为0,acker失效,不能

收藏 打印