分布式系統中保證資料的正確性(插入與更新)

2021-07-03 10:46:17 字數 551 閱讀 1739

1.更新

如使用者a、b都看到資料庫中的資料為6,然後a將值修改為3,但是b這時使用的資料還是6,所以就會出現問題。

這種情況下使用樂觀鎖。樂觀鎖一般通過version欄位或者修改時間來實現

2.插入

一般通過資料庫表中列的唯一性來保證

alter table 表名 

add unique key 唯一鍵名稱 (列名1,列名2,列名3)

舉例

alter table ad_msg_task 

add unique key unique_task (rule_id,execute_time,status)

這樣的話在進行插入的時候,如果rule_id,execute_time,status的組合有重複的,則會丟擲mysqlintegrityconstraintviolationexception異常,此異常為runtimeexception(用的是mysql資料庫)

這樣的話就可以保證只插入一次

如何保證分布式系統中介面呼叫的順序性?

如何保證分布式系統中介面呼叫的順序性?分布式是當下比較流行的乙個話題,很多大型的網際網路公司都是分布式系統,將乙個大而全的系統拆分成多個小而精的乙個個的功能單 一 職責集中的子系統,系統之間通過約定好的協議 規則進行呼叫,降低系統之間的耦合度,避免牽一髮而動全身。雖然分布式系統的架構有很多的好處,但...

分布式系統的相容性

以前一直做單機系統,考慮到的相容性往往是儲存在硬碟的資料結構要考慮相容性的。但是目前在進行分布式儲存系統的設計時,遇到訊息體的相容性。因為分布式系統中,公升級過程不能和單機系統一樣,停業務,公升級,開業務 reboot 在分布式系統中的,是不能隨便將所有系統全部停掉進行公升級。採用的策略一般是逐步公...

分布式系統的資料分布方式

雜湊方式 常見雜湊方式 使用者id 機器 組 數 分配到0 機器 組 數 1 上 優點 只要雜湊函式的雜湊特性較好,雜湊方式可以較為均勻的將資料分布到集群中去。缺點 可擴充套件性不高,一旦集群規模需要擴充套件,則幾乎所有的資料需要被遷移並重新分布。一旦某資料特徵值的資料嚴重不均,容易出現 資料傾斜 ...