流媒体功能:
实时响应、低延迟
不保存数据,先计算
连续查询
事件驱动
基本概念:
Task :工作器中每个Spout/Bolt的线程都称为task
tuple :流的核心数据结构是消息传递的基本单元
Stream:无边界连续Tuple序列
Zookeeper:为流服务中的每个进程提供分布式协调服务
Worker:
工作器在一个或多个工作器上运行JVM进程的所有拓扑
启动后将长期运行,除非工作器进程的数量取决于拓扑的设置
体系结构
client---------nimbus---------- zookeeper
拓扑监视发送心跳分配任务
| /Zookeeper
下载Jar软件包/
|/Zookeeper
--------|报告心率
获取Supervisor Supervisor /分配任务|
启动工作器
工作器| |
执行程序-------------------------
执行程序
在一个工作器进程中运行一个或多个执行程序线程
每个执行程序只能运行Spout或Bolt中的一个或多个任务实例
拓扑:是通过流组连接的一组Spout (数据源)和Bolt (引导)的有向无环图
拓扑中的每个组件(输出/引导)节点并行运行
Nimbus HA
Zookeeper集群
|
流群集
主Nimbus准备Nimbus
Supervisor Supervisor
workerworkerworkerworkerworkerworker
消息可靠性:
最多一次最少一次(Ack机制(准确一次) Trident ) )。