秒殺架構
最有效的辦法:樂觀鎖更新+分散式限流+redis快取+kafaka非同步
樂觀鎖:首先假設資料衝突很少,只有在資料提交修改的時候才進行校驗,如果衝突了則不會進行更新。通常的實現方式增加一個version欄位,為每一條資料加上版本。每次更新的時候version+1,並且更新時候帶上版本號
總結:
- 儘量將請求攔截在上游。
- 還可以根據 UID 進行限流。
- 最大程度的減少請求落到 DB。
- 多利用快取。
- 同步操作非同步化。
- fail fast,儘早失敗,保護應用。
最有效的辦法:樂觀鎖更新+分散式限流+redis快取+kafaka非同步
樂觀鎖:首先假設資料衝突很少,只有在資料提交修改的時候才進行校驗,如果衝突了則不會進行更新。通常的實現方式增加一個version欄位,為每一條資料加上版本。每次更新的時候version+1,並且更新時候帶上版本號
總結: