在開始學習流處理時,我聽到以下兩個技術項:有狀態流處理和無狀態流處理,它們之間有什麼區別?我聽說風暴是無國籍的,而風暴三叉戟是有狀態的,所以在實踐中,在哪裏使用風暴以及在哪裏使用風暴三叉戟?有狀態和無狀態流處理
2
A
回答
6
兩者之間的差異在很高的級別上,您必須對它們執行的操作類型。
某些操作是無狀態的,即您一次處理一條記錄。 想象一下,銀行出納員可以一次處理一批客戶。每個客戶都是不依賴於以前的新工作單元。
有狀態的操作就像是僱用一名新員工。你有一羣人來接受採訪,但是如果你僱用他們,取決於你的狀態,也就是說你打開了什麼職位。
例如,假設您正在處理網絡日誌。如果您想知道每秒有多少用戶正在查看網頁,則您的處理爲幾乎爲無狀態:每秒計算每頁有多少用戶。每一秒鐘,你都不在乎前一秒的結果。這是無國籍的行動。
讓我們來說說,而不是你想要計算的下一秒將有多少用戶的預測。您希望平均過去10分鐘,因此您需要保留最後10 * 60秒的隊列 - 這就是您需要保留以供處理的狀態,並且您需要每秒更新一次,以保持最最近10分鐘的狀態。 這當然是有狀態的操作。 更簡單的有狀態操作只是計算自該網站開始以來的頁面瀏覽總數。
這兩個操作之間的一個關鍵區別是,如果流停止並且您重置系統,則必須注意保存狀態。 無狀態操作沒有任何狀態來保存,因此通常更簡單。
相關問題
- 1. 有狀態的流Spark處理
- 2. Nhibernate:批處理和無狀態會話
- 3. TestFlight處理狀態
- 4. 處理工作流的'Faulted'狀態
- 5. 處於活動狀態和非活動狀態的狀態圖
- 6. 有狀態與無狀態Web服務
- 7. 具有無狀態的分層狀態
- 8. Keras - 有狀態vs無狀態LSTM
- 9. Angular 2無狀態或有狀態?
- 10. 無狀態與有狀態的bean
- 11. HTTPS有狀態還是無狀態?
- 12. 有狀態Web服務與(狀態Bean +無狀態WS)
- 13. AVPlayer流狀態
- 14. AVQueuePlayer流狀態?
- 15. 無狀態和有狀態小部件有什麼區別?
- 16. 有狀態和無狀態lambda表達式有什麼區別?
- 17. Gwan處理程序狀態
- 18. Ember js狀態處理
- 19. Caliburn Micro WinRT狀態處理
- 20. Java Swing處理狀態
- 21. Android kSOAP處理「302狀態」
- 22. 處理狀態欄通知
- 23. 處理按鈕狀態
- 24. 處理不同的狀態
- 25. 處理HTTP狀態500
- 26. 狀態和無狀態beans不要節省Wildfly狀態(只有單保存)
- 27. 狀態:12152和狀態:12029
- 28. 流程圖和狀態機
- 29. NSUndoManager處於無效狀態
- 30. React動態表單狀態處理