億級流量網站架構核心技術閱讀筆記

交易型系統設計的一些原則

設計系統時,要因場景,時間而異,一個系統不是一下子可以設計的很完美,在有限的資源下解決當下核心問題,預測並發現未來可以能出現的問題。系統是一個不斷迭代的過程,迭代的過程發現並解決問題。一個好的設計,解決現有的問題,把控實現和進度風險,預測和規劃未來不要過度設計,從迭代中演進和完善。

在設計系統應考慮 墨菲定律
1.任何事情都沒表面看起來簡單。
2.所有事情都比預計的時間長
3.可能出錯的總會出錯
4.如果你擔心某事情發生,那麼它更有可能發生。

在系統規劃時,要思考 康威定律
1.系統架構是公司組織架構的反映。
2.應該按照業務閉環進行系統拆分/組織架構劃分,實現閉環/高內聚/低耦合,減少溝通成本
3.如果溝通出現問題,那應該考慮調整系統或者組織架構
4.在合適時機進行系統拆分,不要一開始拆分得太細,雖然閉環,但是維護成本高。

消息隊列需要考慮點

  • 消息產生失敗處理
    1.根據消息產品是否有重試次數,達到重試次數未成功,則會通知生產失敗。
    2.對於不能容忍生產失敗的場景來說,要做好後期的數據處理,譬如,數據持久化,添加日誌,報警等。
  • 消息重複接收處理
    1.對於消息重複問題,特別是分佈式消息隊列,需要在業務層面做防重處理。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章