強一致架構
當更新操做完成以後,任何多個後續進程或者線程的訪問都會返回最新的更新過的值。這種是對用戶最友好的,就是用戶上一次寫什麼,下一次就保證能讀到什麼。根據 CAP 理論,這種實現須要犧牲可用性。分佈式
弱一致性性能
系統並不保證續進程或者線程的訪問都會返回最新的更新過的值。系統在數據寫入成功以後,不承諾當即能夠讀到最新寫入的值,也不會具體的承諾多久以後能夠讀到。spa
最終一致性線程
弱一致性的特定形式。系統保證在沒有後續更新的前提下,系統最終返回上一次更新操做的值。在沒有故障發生的前提下,不一致窗口的時間主要受通訊延遲,系統負載和複製副本的個數影響。DNS 是一個典型的最終一致性系統。設計
在工程實踐上,爲了保障系統的可用性,互聯網系統大多將強一致性需求轉換成最終一致性的需求,並經過系統執行冪等性的保證,保證數據的最終一致性。進程
TCC是應用層的2PC(2 Phase Commit, 兩階段提交),若是你將應用看作資源管理器的話。 詳細來講,TCC每項操做須要作的事情以下:資源
一、Try:嘗試執行業務。同步
二、Confirm:確認執行業務。it
三、Cancel:取消執行業務