AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

架構設計的簡單原則,你學會了嗎?

來源: 責編: 時間:2024-09-10 09:47:06 116觀看
導讀簡單原則宣言是:“簡單優于復雜”。圖片由于軟件架構與建筑架構在表面上存在相似性,我們往往會下意識地將對建筑的審美觀念遷移至軟件架構之上。對于我們親自構建的軟件架構,我們期望它如著名建筑一般宏偉、精美、富有藝

簡單原則宣言是:“簡單優于復雜”。c4S28資訊網——每日最新資訊28at.com

圖片圖片c4S28資訊網——每日最新資訊28at.com

由于軟件架構與建筑架構在表面上存在相似性,我們往往會下意識地將對建筑的審美觀念遷移至軟件架構之上。對于我們親自構建的軟件架構,我們期望它如著名建筑一般宏偉、精美、富有藝術感且豪華…… 總之,絕不能顯得寒酸或簡單。c4S28資訊網——每日最新資訊28at.com

團隊壓力有時也會在有意無意間促使我們走向復雜的方向。因為在大多數人評價一個方案水平高低時,復雜性是一項重要的參考指標。例如,設計一個主備方案,若采用心跳機制來實現,或許大家會覺得這太過簡單。然而,若引入 ZooKeeper 來做主備決策,很多人可能會認為這個方案更加 “高大上”。畢竟 ZooKeeper 運用的是 ZAB 協議,而 ZAB 協議本身就十分復雜。實際上,真正理解 ZAB 協議的人少之又少,但這并不妨礙我們都知曉 ZAB 協議很優秀。c4S28資訊網——每日最新資訊28at.com

軟件領域的復雜性體現在兩個方面

結構復雜的系統通常具備兩個特點:一是組成系統的組件數量眾多;二是這些組件之間的關系極為復雜。c4S28資訊網——每日最新資訊28at.com

然而,結構上的復雜性存在第一個問題。組件越多,其中某個組件出現故障進而導致系統故障的可能性就越大。這個概率是可以計算出來的,假設組件的故障率為 10%(即有 10% 的時間不可用),那么由 3 個組件組成的系統可用性為(1 - 10%)×(1 - 10%)×(1 - 10%)=72.9%,而由 5 個組件組成的系統可用性為(1 - 10%)×(1 - 10%)×(1 - 10%)×(1 - 10%)×(1 - 10%)=59%,兩者的可用性相差 13%。c4S28資訊網——每日最新資訊28at.com

結構上的復雜性存在第二個問題。某個組件的改動會影響與之關聯的所有組件,而這些被影響的組件又會繼續遞歸地影響更多的組件。這一問題會影響整個系統的開發效率,因為一旦變更涉及外部系統,就需要協調各方共同進行方案評估、資源協調以及上線配合。c4S28資訊網——每日最新資訊28at.com

結構上的復雜性存在第三個問題。在復雜系統中定位問題總是比在簡單系統中更加困難。首先,由于組件眾多,每個組件都有出現問題的嫌疑,所以需要逐一排查;其次,組件間關系復雜,表現出故障的組件未必是真正問題的根源。c4S28資訊網——每日最新資訊28at.com

第二個方面體現在邏輯的復雜性

當我們意識到結構的復雜性后,第一反應或許是 “降低組件數量”,畢竟組件數量越少,系統結構就越簡單。而最簡單的結構無疑是整個系統僅有一個組件,即系統本身,所有功能和邏輯都在這一個組件中實現。c4S28資訊網——每日最新資訊28at.com

然而,不幸的是,這樣做并不可行。原因在于除了結構的復雜性之外,還存在邏輯的復雜性。如果某個組件的邏輯過于復雜,同樣會帶來各種問題。c4S28資訊網——每日最新資訊28at.com

邏輯復雜的組件,有一個典型特征就是單個組件承擔了過多的功能。以電商業務為例,常見的功能包括商品管理、商品搜索、商品展示、訂單管理、用戶管理、支付、發貨、客服等。如果把這些功能全部在一個組件中實現,那就是典型的邏輯復雜性。c4S28資訊網——每日最新資訊28at.com

假設現在淘寶將這些功能全部在單一的組件中實現,我們可以想象一下這個恐怖的場景:系統會非常龐大,可能有上百萬、上千萬的代碼規模,“clone” 一次代碼要 30 分鐘。幾十、上百人維護這一套代碼,某個 “菜鳥” 不小心改了一行代碼,就可能導致整站崩潰。需求如雪片般飛來,為了應對,會開幾十個代碼分支,然后各種分支合并、各種分支覆蓋。產品、研發、測試、項目管理不停地開會討論版本計劃,協調資源,解決沖突。版本太多,每天都要上線幾十個版本,系統每隔 1 個小時就要重啟一次。線上運行出現故障,幾十個人撲上去定位和處理,一間小黑屋都裝不下所有人,整個辦公區都會鬧翻天。c4S28資訊網——每日最新資訊28at.com

總之,誰都無法忍受這樣的場景。功能復雜的組件,另一個典型特征就是采用了復雜的算法。復雜算法導致的問題主要是難以理解,進而難以實現、難以修改,并且出了問題難以快速解決。c4S28資訊網——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-112723-0.html架構設計的簡單原則,你學會了嗎?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 盤點分頁查詢中遇到的坑!

下一篇: Go1.23 新特性:爭議最大的 iter 迭代器,可遍歷萬物!

標簽:
  • 熱門焦點
  • K60至尊版剛預熱 一加Ace2 Pro正面硬剛

    Redmi這邊剛如火如荼的宣傳了K60 Ultra的各種技術和硬件配置,作為競品的一加也坐不住了。一加中國區總裁李杰發布了兩條微博,表示在自家的一加Ace2上早就已經采用了和PixelWo
  • Redmi Buds 4開箱簡評:才199還有降噪 可以無腦入

    在上個月舉辦的Redmi Note11T Pro系列新機發布會上,除了兩款手機新品之外,Redmi還帶來了兩款TWS真無線藍牙耳機產品,Redmi Buds 4和Redmi Buds 4 Pro,此前我們在Redmi Note11T
  • iPhone賣不動了!蘋果股價創年內最大日跌幅:市值一夜蒸發萬億元

    8月5日消息,今天凌晨美股三大指數高開低走集體收跌,道指跌0.41%;納指跌0.36%;標普500指數跌0.52%。熱門科技股也都變化極大,其中蘋果報181.99美元,跌4.8%,創
  • 把LangChain跑起來的三個方法

    使用LangChain開發LLM應用時,需要機器進行GLM部署,好多同學第一步就被勸退了,那么如何繞過這個步驟先學習LLM模型的應用,對Langchain進行快速上手?本片講解3個把LangChain跑起來
  • 一年經驗在二線城市面試后端的經驗分享

    忠告這篇文章只適合2年內工作經驗、甚至沒有工作經驗的朋友閱讀。如果你是2年以上工作經驗,請果斷劃走,對你沒啥幫助~主人公這篇文章內容來自 「升職加薪」星球星友 的投稿,坐
  • 自律,給不了Keep自由!

    來源 | 互聯網品牌官作者 | 李大為編排 | 又耳 審核 | 谷曉輝自律能不能給用戶自由暫時不好說,但大概率不能給Keep自由。近日,全球最大的在線健身平臺Keep正式登陸港交所,努力
  • 阿里瓴羊One推出背后,零售企業迎數字化新解

    作者:劉曠近年來隨著數字經濟的高速發展,各式各樣的SaaS應用服務更是層出不窮,但本質上SaaS大多局限于單一業務流層面,對用戶核心關切的增長問題等則沒有提供更好的解法。在Saa
  • 3699元!iQOO Neo8 Pro頂配版今日首銷:1TB UFS 4.0同價位唯一

    5月23日,iQOO推出了全新的iQOO Neo8系列,包含iQOO Neo8和iQOO Neo8 Pro兩個版本,其中標準版搭載高通驍龍8+,而Pro版更是首發搭載了聯發科天璣9200+旗艦
  • 外交部:美方應停止在網絡安全問題上不負責任地指責他國

      中國外交部今天(16日)舉行例行記者會。會上,有記者問,美國情報官員稱,他們正在阻攔來自中國以及其他國家的黑客獲取相關科研成果。 中方對此有何評論?對此
Top