《架構即未來》這本書的第12章簡單闡述了架構設計的一些常用的原則。
要確保任何你所開發的系統在發生故障時,至少有乙個冗餘的例項。乙個例項確實很危險,當這個例項出現不明原因的問題不能對外服務,需要debug的時候,如果優先debug,那當前例項就要暫停服務直到你找到問題為止。如果你直接重啟例項恢復服務,就沒有事故現場進行debug了。而這時如果有乙個冗餘的例項,就可以先讓冗餘的例項對外服務,事故現場的環境也得以保留。
多個例項來做負載均衡也是一種不錯的選擇。
確保系統可以回滾到以前發布過的任何版本。以前做遊戲的時候經常遇到回滾,有時候是資料庫回滾,有時候是伺服器端回滾,一般都是回滾到上個版本。
能夠關閉任何發布的功能。當乙個功能出現嚴重問題不得不關閉時,如果關閉整個系統代價就有點大了,所有要有單個功能的開關。像**系統的支付功能就一定要有開關,如果出現比較嚴重的bug,可以關閉支付而不影響下單。
在設計階段就必須要考慮監控,而不是在實施完成之後補充。如果監控做的好,不僅能發現服務的死活,檢查日誌檔案,還能收集系統相關的資料,評估終端使用者的響應時間。如果系統和應用在設計和構建時就考慮好監控,那麼即使不能自我修復,也至少可以自我診斷。
不要被乙個資料中心的解決方案把自己限制住。有錢就多建乙個,讓股東放心。
只用確實好用的技術。不管用什麼技術,都要確保是乙個成熟的技術。也許某個新技術有眾多優點,比如,降低開發成本,提高開發效率,提高可擴充套件能力,減少終端使用者的響應時間。但是,只要這項技術故障率比較高,就絕不能使用。
只有在絕對必要的時候才進行同步呼叫。非同步適合併發。
借鑑:
架構即未來閱讀筆記1
架構即未來閱讀筆記1 鬥眾如鬥寡,形名是也 出自孫子兵法裡的,凡治眾如治寡,分數是也。鬥眾如鬥寡,形名是也,孫權如是說。管很多人跟管很少的人一樣,是因為有 分數 就是編制。分 就是分成班 連 團 師 軍之類,看你怎麼分。數 就是每個編制單位多少人。編制搞好了,組織架構搞好了,管很多人就跟管很少的人一...
《架構即未來》閱讀筆記3
只有當業務確實需要的時候,才使用狀態。無狀態的系統更利於擴充套件,更利於做負載均衡。永遠不要依賴更大 更快的系統。微服務是水平擴充套件的乙個例子,不要把所有的功能都集中在乙個系統裡面。必要的時候把需求分為多個系統,而不是公升級原有的系統。在擴充套件性問題發生前考慮好下一步的行動計畫。想的更遠一點,就...
架構 讀書筆記 架構即未來 第2章
孫子說,將弱不嚴,教道不明,吏卒無常,陳兵縱橫,曰亂。意思是,將領懦弱無能,管理不嚴教導不明,則吏卒不懂規矩章法或不願遵從規矩章法,列隊縱橫凌亂,站沒站相,坐沒坐相,這叫 亂 為什麼會亂?孫子提出兩個原因 第一,將弱不嚴,第二,教道不明。其中第乙個是第二個的基礎,將弱不嚴導致教道不明。乙個好領導,要...