6、Streaming 分布式流计算引擎

一、Streaming 基本概念

Streaming 基于开源 Storm,是一个分布式、实时计算框架。

Streaming 具有以下几种特点:

(1) 实时响应,低延迟。

(2) 数据不存储,先计算。

(3) 连续查询。

(4) 事件驱动。

Streaming 中分为了业务进程和数据进程,其中业务逻辑进程有以下几种:

(1) Topology:Streaming 中运行的一个实时应用程序。

(2) Nimbus:负责资源分配和任务调度。

(3) Supervisor:负责接受 Nimbus 分配的任务,启动和停止属于自己管理的 worker 进程。

(4) Worker:Topology 运行时的物理进程。每个 Worker 是一个 JVM 进程。

(5) ZooKeeper:为 Streaming 服务中各进程提供分布式协作服务。主备Nimbus、Supervisor、Worker 将自己的信息注册到 ZooKeeper 中,Nimbus 据此感知各个角色的健康状态。

(6) Task:Worker 中每一个 Spout/Bolt 的线程称为一个 task。

数据进程有以下几种:

(1) Spout:在一个 Topology 中产生源数据流的组件。

(2) Bolt:在一个 Topology 中接受数据然后执行处理的组件。

(3) Tuple: Streaming 的核心数据结构,是消息传递的基本单元,不可变 Key-Value 对,这些 Tuple 会以一种分布式的方式进行创建和处理。

(4) Stream :一个无边界的连续 Tuple 序列。

Streaming 架构:

(1) Topology:可以理解成为 MR 或者 Spark 中的 Application,其中包含了任务的执行逻辑方法,以及相关的处理方式。对于传统的Application,也就是 MR 或 Spark 中的应用,我们在提交对数据的处理逻辑的时候,必须要同时提交文件的位置,而且文件必须在 HDFS 或者是托管给其他的组件来进行导入的。由于 Streaming 处理的一般都是实时数据,那么数据往往是我们无法预先定义的,所以我们只能预先定义好处理框架,等待数据的引入,然后根据框架计算结果并反馈。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值