gpt4 book ai didi

streaming - 有状态和无状态流处理

转载 作者:行者123 更新时间:2023-12-03 16:29:36 24 4
gpt4 key购买 nike

在开始学习流处理的时候,听到了以下两个技术项:有状态的流处理,和无状态的流处理,它们有什么区别?我听说 Storm 是无状态的,而 Storm 三叉戟是有状态的,那么在实践中,在哪里使用 Storm ,在哪里使用 Storm 三叉戟?

最佳答案

两者之间的区别在于,在非常高的层次上,您必须对它们执行的操作类型。

有些操作是无状态的,即您一次处理一条记录。
想想银行柜员,它一次处理一大批客户。每个客户都是一个新的工作单元,不依赖于以前的工作单元。

有状态的操作就像雇佣一个新员工。你有一大群人来面试,但你是否录用他们,取决于你的状态,也就是你有什么职位空缺。

例如,假设您正在处理网络日志。如果您想知道每秒有多少用户正在查看页面,您的处理几乎是无状态的:每秒您计算每页有多少用户。每新一秒,你都不关心前一秒的结果。那是无状态操作。

假设您想要计算下一秒将拥有多少用户的预测。你想平均最后 10 分钟,所以你需要保持一个队列,最后 10 * 60 秒 - 这是你需要保持处理的状态,你需要每秒更新一次,以保留最近的 10状态分钟。
这当然是一个有状态的操作。
一个更简单的有状态操作只是计算自网站开始以来的页面浏览总数。

这两个操作之间的一个重要区别是,如果流停止并且您重置系统,则必须注意保存状态。
无状态操作没有任何要保存的状态,因此通常更简单。

关于streaming - 有状态和无状态流处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37246610/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com