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