距上次寫這個話題已有2年半了,時間過得真快。主要還是談業(yè)務(wù)系統(tǒng)常見的一些坑(接著“一”來說)。點很碎片,不斷積累吧
- 空緩存時間盡量短 因為各種原因?qū)е聞h緩存失敗的空緩存case太蛋疼了
- 讀寫分離里,寫請求里的讀DB,須走master
- 計數(shù)的消息通知,用絕對值而不是增量
- 寫接口,寫DB是同步還是異步呢?這是個問題。考慮到“削峰”當(dāng)然是異步,同時緩存更新肯定是同步的。然而可能有些接口會強(qiáng)讀db,這個時候如果異步消費慢就有可能產(chǎn)生臟讀了。同步可能就有性能問題,具體要結(jié)合業(yè)務(wù)分析了
- 狀態(tài)和屬性常常是業(yè)務(wù)字段,寫的入口一定要收斂。當(dāng)然從設(shè)計規(guī)范來說寫接口都是要收斂的。
- 特別復(fù)雜的狀態(tài)變更以及引起的計數(shù)變更等,要合理實現(xiàn)。比如定義轉(zhuǎn)換數(shù)組或者簡化的FSM等,而不是各種硬編碼。這樣不容易出錯。