Amazon Kinesis:实时收集、处理和分析视频和数据流。

为什么需要流式处理

  1. 将数据收集(collection)和处理(processing)解耦。collection part 提供一个(相对)持久的缓存,然后processing part 可以用各种方式来处理和使用数据。
  2. 同时收集多个来源的数据。例如,在IoT场景下,可以同时收集大量传感器传回的数据(数据源非常多,每个源的数据较少,显然不能用batch针对每个数据源建个job)。
  3. 保持数据的顺序。保证数据可以按输入的顺序被读取。这在一些场景下是有需求的。
  4. 并行读取。数据可以同时被多个目标读取。
    实际上可以理解为在插入到存储之前,增加一个缓存(如AWS Kinesis DataStream),这个缓冲区视为数据收集部分。它的后面除了直接存到存储设备以外,数据可以直接在这里被简单预处理,也可以直接被函数加工(此时就是实时计算)。

实时大数据处理典型架构:Lambda架构

关于Lambda架构,参考:深入理解大数据架构之——Lambda架构

Lambda架构是由Storm的作者Nathan Marz提出的一个实时大数据处理框架。

Marz认为大数据系统应具有以下的关键特性:

  • Robust and fault-tolerant(容错性和鲁棒性):对大规模分布式系统来说,机器是不可靠的,可能会当机,但是系统需要是健壮、行为正确的,即使是遇到机器错误。除了机器错误,人更可能会犯错误。在软件开发中难免会有一些Bug࿰

你可能感兴趣的:(AWS,aws)