分佈式系統如果保證訂單號唯一性?

1:問題描述,分佈式系統,包括服務和數據庫都是分佈式的,不存在用一臺服務器來產生訂單號的情況,因爲這樣就算不上分佈式了,如果這臺服務器掛掉了,整個系統崩潰。


2:分佈式系統產生訂單號的解決思路,

1)使用可以唯一確定的東西來產生訂單號,比如電腦系統中使用的時間,精確到毫秒,或者微妙等精度,但是像秒殺系統,任然可能存在同時下單的情況。


2)更多的情況是使用隊列,所有的下單存在一個隊列裏面,處理的時候進行分佈式處理,但是這個隊列缺不符合分佈式的標準,存在單點故障。


3)不可以使用客戶端的信息,因爲客戶端的信息來生單不安全,客戶可能存在改傳到服務端的參數。


3:分佈式訂單號唯一性可能被打破的情況如下:


1)秒殺


4:個人感覺分佈式系統根本沒法保證訂單號的唯一性。只能儘可能的保證訂單的唯一性。或者使用單服務器+隊列的方式,來處理訂單。

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