系統設計備忘單 如何實現高可用性、高吞吐量和高可擴充套件性

Mondo 科技 更新 2024-02-12

我們經常需要設計具有高可用性、高可擴充套件性和高吞吐量的系統。 它們到底是什麼意思?

下圖為影印件系統設計備忘單,包括“三高”的常見解決方案。

高可用性意味著我們需要達到乙個正常執行時間長。我們通常將設計目標描述為:"3 個 9"或"4 個 9"。"4個九",即 9999% 的正常執行時間,這意味著服務只能中斷 8 次64 秒。

為了實現高可用性,我們需要在系統中冗餘設計。有幾種方法可以做到這一點:

熱-熱 兩個例項接收相同的輸入,並將輸出傳送到下游服務。 如果其中乙個出現故障,另乙個可以立即接管。 由於雙方都向下游傳送輸出,因此下游系統需要能夠處理重複資料。

hot-warm兩個例項接收相同的輸入,只有熱端將輸出傳送到下游服務。 如果熱側出現故障,則熱側將接管並開始向下游服務傳送輸出。

單個領導例項從上游系統接收資料,並將其複製到其他副本。

無領導的集群沒有領導者。 任何寫入操作都將複製到其他例項。 只要寫入例項數加上讀取例項數大於例項總數,我們就得到有效資料。 這稱為仲裁。

這意味著需要該服務在一段時間內處理大量請求。常用的指標是 QPS(每秒查詢數)或 TPS(每秒事務數)。

為了實現高吞吐量,我們通常在架構中進行新增快取以避免通過速度較慢的 IO 裝置,例如資料庫或磁碟。 我們還可以增加計算密集型任務的執行緒數。 但是,新增過多的執行緒會降低效能。 因此,我們需要識別系統的瓶頸,提高系統的吞吐量。

我們也可以在系統中使用它非同步處理有效地單獨隔離耗時且資源密集型的元件。

高可擴充套件性意味著系統可以快速輕鬆地擴充套件到:容納更多容量(水平可伸縮性)或更多功能(垂直可伸縮性)。 通常,我們通過檢視響應時間來決定是否需要擴充套件系統。

為了實現高可擴充套件性,您需要隔離每個服務的職責。 因此,微服務被廣泛採用。 我們還利用服務註冊和負載均衡器將請求路由到適當的例項。

發布一系列龍卡,分享數百萬現金

相關問題答案

    小程式開發 如何構建高併發、高可用的小程式後端

    小程式後端是小程式的重要組成部分,負責處理使用者請求並提供相應服務。在小程式後端的開發中,如何構建乙個高併發 高可用的後端是乙個關鍵問題。本文將介紹一些構建高併發 高可用的小程式後端的技巧和策略。.選擇正確的技術棧 選擇合適的技術棧是構建高併發 高可用的小程式後端的關鍵之一。在選擇技術堆疊時,您需要...

    展廳設計中如何做到“內修外兼修”?

    自年上海世博會以來,數字展廳的概念正式進入國內大眾視野,行業市場一度被引爆,不少企業紛紛湧入這個行業,試圖在這個市場分得一杯羹。據不完全市場統計,僅在北京,與展廳生產相關的企業就有上千家。面對 魚龍混雜 的市場,很多企業實力遠遠不夠,缺乏專業資質 資金和核心技術能力。規劃博物館 科技館 博物館等展廳...

    企業服務 HA 系統審批流程 工作流的產品設計

    為了滿足企業業務管控的需要,審批流程存在於各種各樣的業務系統中。審批一般分為一般審批和業務審批。一般的審批一般可以通過釘釘 飛書等辦公OA自帶的審批功能來完成,非常成熟,不用多說業務審批往往與業務文件耦合,如採購訂單的審批等,毫無疑問,相當一部分業務審批的可用性相對較差,今天我們就來談談如何設計乙個...

    特斯拉如何使其設計面向未來? 聽聽設計主管Franz怎麼說

    輕鬆的汽車新聞剛剛過去的年,Model Y不僅成為中國年度最暢銷乘用車,更是超越了歷史上的燃油車,奪得了全球年度銷量桂冠。在輝煌成績引發的眾多深度解讀中,我們發現,多年來,Model Y在新造車力量的突破和洗牌方面始終無與倫比。如此暢銷全球的電動汽車是如何設計的?年月日,特斯拉設計總監弗朗茨 馮 霍...

    數字展館設計如何具有吸引力

    數字展館設計成功的關鍵是要有吸引力,吸引參觀者的注意力,使他們對展示的內容感興趣,並加深他們對展示內容的理解和理解。那麼,數字展館設計如何使其具有吸引力呢?數字展館設計。.參觀者與數字展館產生共鳴。數字館的設計應以人為本,根據不同的參觀者群體進行設計,展示不同的內容。在設計中,要挖掘參觀者的喜好和心...