读构建可扩展分布式系统:方法与实践14流处理系统

2024-09-24  本文已影响0人  躺柒
读构建可扩展分布式系统:方法与实践14流处理系统.png

1. 流处理系统

1.1. 时间就是金钱

1.2. 需要对最近的一组观察结果进行计算

1.3. 传统上,可以通过将外部提供的数据保存到数据库并设计可提取所需信息的查询来构建此类应用程序

1.4. 需要从数据库和索引中获得快速、可扩展的写入性能,来实现低延迟聚合读取和最近数据点的连接

1.5. 面对来自传感器、设备和用户的海量数据源的数量不断增加,我们出现了一种被称为流处理系统的新技术

1.6. 流处理平台正在成为可扩展系统的常见部分

1.7. 流系统产生实时相关结果的能力在许多应用领域都极具吸引力

1.8. 利用许多流平台来构建可容错、可扩展的应用程序

2. 流处理简介

2.1. 自从软件系统问世以来,批处理就在处理新的可用数据方面发挥了重要作用

2.2. 在批处理系统中,代表新的和更新后的对象的原始数据会被累积到文件中

2.3. 一个被称为批处理数据加载任务的软件组件会定期处理这些新的可用数据,并将其插入应用程序的数据库中

2.4. 流系统可以实时处理新数据和事件

2.5. 批处理和流处理架构,以及像Lambda架构这样的混合架构在现代可扩展系统中都有自己的地位

2.6. Lambda架构

3. 流处理平台

3.1. 数据通常是队列或者分布式存储系统中的文件

3.2. 流处理节点从数据源中提取数据对象并执行转换、聚合和特定于应用的业务逻辑

3.3. 在概念上,数据对象是在处理节点之间传递或流动的,因此流应用程序也被称为数据流系统

3.4. 流处理系统为处理节点提供了将一个节点处的输入流转换为由一个或多个下游节点处理的新流的能力

3.5. 流处理应用程序有两种常见的风格

3.6. 流处理平台需要能够使应用程序扩展处理能力以及具备故障快速恢复的能力

3.7. Apache Storm是一个功能强大且可扩展的流处理平台

4. Apache Flink

4.1. 诞生于2014年,基于European Union Stratosphere项目中的原始研究

4.2. Flink的核心是一个分布式流处理系统,专为高吞吐量和低延迟而设计

4.3. Flink还支持两种基于关系概念的API,即Table和SQL API

4.4. Data Stream API

4.5. 可扩展性

4.6. 数据安全

上一篇下一篇

猜你喜欢

热点阅读