在开始学习流处理时,我听到以下两个技术项:有状态流处理和无状态流处理,它们之间有什么区别?我听说风暴是无国籍的,而风暴三叉戟是有状态的,所以在实践中,在哪里使用风暴以及在哪里使用风暴三叉戟?有状态和无状态流处理
2
A
回答
6
两者之间的差异在很高的级别上,您必须对它们执行的操作类型。
某些操作是无状态的,即您一次处理一条记录。 想象一下,银行出纳员可以一次处理一批客户。每个客户都是不依赖于以前的新工作单元。
有状态的操作就像是雇用一名新员工。你有一群人来接受采访,但是如果你雇用他们,取决于你的状态,也就是说你打开了什么职位。
例如,假设您正在处理网络日志。如果您想知道每秒有多少用户正在查看网页,则您的处理为几乎为无状态:每秒计算每页有多少用户。每一秒钟,你都不在乎前一秒的结果。这是无国籍的行动。
让我们来说说,而不是你想要计算的下一秒将有多少用户的预测。您希望平均过去10分钟,因此您需要保留最后10 * 60秒的队列 - 这就是您需要保留以供处理的状态,并且您需要每秒更新一次,以保持最最近10分钟的状态。 这当然是有状态的操作。 更简单的有状态操作只是计算自该网站开始以来的页面浏览总数。
这两个操作之间的一个关键区别是,如果流停止并且您重置系统,则必须注意保存状态。 无状态操作没有任何状态来保存,因此通常更简单。
相关问题
- 1. Nhibernate:批处理和无状态会话
- 2. TestFlight处理状态
- 3. 处于活动状态和非活动状态的状态图
- 4. Angular 2无状态或有状态?
- 5. 有状态与无状态Web服务
- 6. Keras - 有状态vs无状态LSTM
- 7. 具有无状态的分层状态
- 8. 有状态Web服务与(状态Bean +无状态WS)
- 9. AVQueuePlayer流状态?
- 10. AVPlayer流状态
- 11. 无状态和有状态小部件有什么区别?
- 12. 处理状态栏通知
- 13. 处理不同的状态
- 14. Caliburn Micro WinRT状态处理
- 15. Android kSOAP处理“302状态”
- 16. Java Swing处理状态
- 17. Gwan处理程序状态
- 18. IIS7和HTTP状态代码处理
- 19. 处理状态变化jQuery和History.js
- 20. 使用状态和定时器处理
- 21. Kubernetes NFS PersistentVolumeClaim的状态有待处理
- 22. Linux for armv8 - 避免所有处于空闲状态的处理器状态
- 23. 无状态和有状态压缩之间的区别?
- 24. 无状态和有状态的工人情况
- 25. 无状态协议和有状态协议
- 26. EJB无状态会话bean和有状态会话bean
- 27. 使用Moq进行有状态和无状态测试
- 28. 处理子对象状态当它影响双亲状态
- 29. 如何将待处理状态更改为付费状态
- 30. 流星状态机