流处理中的消息传递、时间处理与流连接
在流处理的世界里,消息传递、时间处理以及流连接是几个关键的概念和技术点,它们对于实现高效、准确的流数据处理至关重要。
消息传递与远程过程调用(RPC)
消息传递系统可作为 RPC 的替代方案,用于服务间的通信,比如在 Actor 模型中就有应用。不过,通常不把这些系统视为流处理器,原因如下:
- 功能定位 :Actor 框架主要用于管理并发和分布式执行通信模块,而流处理主要是一种数据管理技术。
- 通信特性 :Actor 间的通信常是短暂且一对一的,而事件日志是持久且支持多订阅者的。
- 通信模式 :Actor 可以任意方式通信(包括循环请求/响应模式),但流处理器通常以无环管道设置,每个流是特定作业的输出,并源自明确定义的输入流集合。
不过,类似 RPC 的系统和流处理之间存在交叉领域。例如,Apache Storm 有分布式 RPC 功能,可将用户查询分配到一组也处理事件流的节点,这些查询与输入流中的事件交错处理,结果可聚合后返回给用户。
也可以使用 Actor 框架处理流,但许多此类框架在崩溃时不能保证消息传递,所以除非实现额外的重试逻辑,否则处理不具备容错性。
时间处理
流处理器常需处理时间,特别是用于分析目的时,常使用如“过去五分钟的平均值”这样的时间窗口。但“过去五分钟”的概念并不像看起来那么清晰明确。
在批处理中,处理任务会快速处理大量历史事件。若要按时间细分,批处理需查看每个事件中嵌入的时间戳,查看运行
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



