实时数据一生成便立即传输和处理。股票行情每秒更新一次。欺诈检测系统在客户等待的同时评估交易。拼车应用在几秒钟内匹配司机和乘客。价值在于速度。交易发生一小时后才收到的欺诈警报毫无用处。通勤结束后才收到的交通信息也早已过时。实时数据能够支持必须立即做出的决策。
流处理的基础架构与批处理截然不同。Kafka、Flink 和 Spark Streaming 等流处理平台处理的是连续的数据流。它们会在事件到达时立即进行处理,通常只需几毫秒。其架构比批处理更复杂。你需要消息队列来缓冲数据,流处理器来转换数据,以及低延迟存储来提供服务。此外,你还需要处理延迟到达的数据、乱序事件以及精确一次处理。这些都是棘手的问题。构建和运营实时系统的成本也更高。问题在于,实际应用场景是否足以支撑这种复杂性。欺诈检测、实时竞价和工业监控等场景需要这种复杂性。而月度报告和隔夜工资结算则不需要。实时性是一种基本要求,而不是一种荣誉的象征。当延迟至关重要时,使用实时处理;当延迟无关紧要时,使用批处理。
实时特性
- 低延迟——毫秒至秒级
- 连续式——处理到达的事件
- 基于流的——消息队列和流处理器
- 复杂——处理延迟和乱序数据
- 成本高昂——比批量处理需要更多的基础设施
实时数据关乎当下。其价值在于把握时机,在机会稍纵即逝之前采取行动。
Comments
No comments yet. Be the first to share a thought.
Leave a comment