流处理技术在大大小小的公司中越来越受欢迎,因为它为许多已建立的用例(如数据分析,ETL和事务应用程序)提供了很好的解决方案,同时发展了很多新的应用程序和商机。那么,为什么有状态流处理变得如此受欢迎?我们首先回顾传统的数据应用程序架构并指出它们的局限性。接下来,我们介绍基于状态流处理的应用程序设计 与传统方法相比,它具有许多有趣的特征,最后,我们简要讨论开源流处理器的发展。
传统数据处理架构
数十年来,数据和数据处理在企业中无处不在。多年来,数据的收集和使用一直在增长,公司已经设计并构建了基础架构来管理数据。大多数企业实施的传统架构区分了两种类型的数据处理:事务处理(OLTP)和分析处理(OLAP)。
事务处理
公司将各种应用程序用于日常业务活动,例如企业资源规划(ERP)系统,客户关系管理(CRM)软件和基于Web的应用程序。这些系统通常设计有单独的层,用于数据处理(应用程序本身)和数据存储(事务数据库系统),如下图所示。
应用程序通常连接到外部服务或直接面向用户,并持续处理传入的事件,如网站上的订