Skip to content

Latest commit

 

History

History
21 lines (15 loc) · 1.34 KB

File metadata and controls

21 lines (15 loc) · 1.34 KB

流处理 (Stream Processing)和批量处理(Batch Processing)

流处理 (Stream Processing)

优点

  • 可以实时处理数据

缺点

  • 根据采用的框架不同,处理过程中可能会丢失,出错,出现这种情况不容易修复

批量处理

优点

  • 处理数据精确,失败可以反复重试直至成功
  • 处理数据量大

缺点

  • 定时离线处理数据,时效性不够高

Lambda Architecture

Lambda 架构就是把流处理和批量处理结合起来。通过定时的批量处理保证数据精确,同时又维护一套在线流处理系统保证数据实时性。具体介绍可以参考《Wiki - Lambda_architecture》。 这样看起来似乎同时结合了两种处理方式的优点,又避免了两种方式的缺点,但是在系统设计中我们也不能滥用Lamda架构。

如果我们只是设计一个很简单的系统(比如实时统计点击量),这个系统对公司的业务没有很大的影响,我们需要避免选择Lambda架构,因为实际成本太高,Lambda架构需要维护两套业务逻辑,一套给流处理服务,一套给批量处理服务,我们要避免过度设计。当然,如果是设计一个公司的核心服务(比如给谷歌设计索引服务),那么使用lambda架构就是合理的选择。