主題 04 如何設計乙個複雜的系統(下)

2021-10-25 08:31:04 字數 426 閱讀 1136

回顧自己在過往職業生涯所經歷的專案,在做系統設計的時候都會按照乙個套路去做,這個套路就是:

系統設計的目的 -> 系統設計的目標 -> 圍繞目標的核心設計 -> 圍繞核心設計形成設計原則 -> 各子系統/模組的詳細設計

系統設計的目的

首先要明確做這個系統設計的目的是什麼?部分工程師在做系統設計的時候,拿到需求就迫不及待地展開設計了,甚至無暇顧及為什麼要做乙個新系統的設計,或者為什麼要做乙個系統的重構/演進設計。如果系統設計的目的都沒有搞清楚,在系統設計時很容易出現偏差。

系統設計的目標

圍繞目標的核心設計

明確了設計目的和目標,接下來便是通過設計去實現上面的目標。這是系統設計中最為重要的環節,

如何設計乙個秒殺系統

秒殺場景一般會在電商 舉行一些活動或者節假日在12306 上搶票時遇到。對於電商 中一些稀缺或者 商品,電商 一般會在約定時間點對其進行限量銷售,因為這些商品的特殊性,會吸引大量使用者前來搶購,並且會在約定的時間點同時在秒殺頁面進行搶購。限流 鑑於只有少部分使用者能夠秒殺成功,所以要限制大部分流量,...

如何設計乙個秒殺系統

秒殺場景一般會在電商 舉行一些活動或者節假日在12306 上搶票時遇到。對於電商 中一些稀缺或者 商品,電商 一般會在約定時間點對其進行限量銷售,因為這些商品的特殊性,會吸引大量使用者前來搶購,並且會在約定的時間點同時在秒殺頁面進行搶購。限流 鑑於只有少部分使用者能夠秒殺成功,所以要限制大部分流量,...

如何設計乙個秒殺系統

秒殺一般是訪問請求數量遠遠大於庫存數量,只有少部分使用者能夠秒殺成功。秒殺業務流程比較簡單,一般就是下訂單減庫存。瀏覽器端 js 服務端控制器層 閘道器層 服務層利用快取應對讀請求 對類似於12306等購票業務,是典型的讀多寫少業務,大部分請求是查詢請求,所以可以利用快取分擔資料庫壓力。利用快取應對...