1:問題描述,分佈式系統,包括服務和數據庫都是分佈式的,不存在用一臺服務器來產生訂單號的情況,因爲這樣就算不上分佈式了,如果這臺服務器掛掉了,整個系統崩潰。
2:分佈式系統產生訂單號的解決思路,
1)使用可以唯一確定的東西來產生訂單號,比如電腦系統中使用的時間,精確到毫秒,或者微妙等精度,但是像秒殺系統,任然可能存在同時下單的情況。
2)更多的情況是使用隊列,所有的下單存在一個隊列裏面,處理的時候進行分佈式處理,但是這個隊列缺不符合分佈式的標準,存在單點故障。
3)不可以使用客戶端的信息,因爲客戶端的信息來生單不安全,客戶可能存在改傳到服務端的參數。
3:分佈式訂單號唯一性可能被打破的情況如下:
1)秒殺
4:個人感覺分佈式系統根本沒法保證訂單號的唯一性。只能儘可能的保證訂單的唯一性。或者使用單服務器+隊列的方式,來處理訂單。