理解分佈式數據處理的三個級別

分佈式數據處理,就是利用分佈式計算技術對數據進行處理。

分佈式計算是指將一個龐大的計算任務經過服務器的處理劃分爲若干個小任務,然後將這些小任務通過網絡分發到位於同一網絡、不同物理位置的客戶端,通過這種結構計算出各個結果,最後在通過彙總得到這個龐大計算任務的結果。

分佈式數據處理擁有三個級別的可靠性:數據最多發送一次、最少發送一次、恰好發送一次

1、最多一次

一般分佈式數據處理默認爲此級別,在此級別下,服務器只管發送數據,不關心數據是否正確到達目的客戶端。

優點:數據傳輸速率最高

缺點:在網絡不穩定的情況下,可能導致數據丟失(一般不會丟失的太嚴重),數據可靠性最低

2、 最少一次

在發送數據給各個客戶端時,每發送一部分數據就會等待對應的客戶端回覆的信息,若響應超時,服務器會重新發送未被確認的數據,直至服務器正確接收到來自客戶端的回覆消息。在成功收到回覆消息後,發送下一部分的數據。

優點:保證數據正確無誤的發送到指定客戶端

缺點:在網絡繁忙時,會造成客戶端接收到較多的重複數據

3、恰好一次

​ 在最少一次的基礎上,增加了去重機制,服務器在同一數據發送時添加一個類似於版本號的唯一標識,在客戶端接收到同一數據的多個版本後,只保留最新版本的數據。

優點:保證數據唯一且沒有冗餘的接收,數據可靠性最高

缺點:客戶端對於刪除標識的時間把握不明確,會導致存儲的大量唯一標識佔用空間,並且有一定時間耗費在比較上,數據傳輸速率最低

 

以上三種方案的使用,應該根據具體情況具體考慮。

另外,在各個分佈式系統的處理上,有各種改進方案,比如Kafka產生數據的可靠性保證、Storm分佈式處理數據的多個機制等等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章