【從零開始學架構-李運華】10|架構設計流程:識別複雜度
架構設計第一步:識別複雜度
架構設計的本質目的是為了解決系統複雜性,所以要先了解。
【例】一個系統的複雜度來源於業務邏輯複雜,功能耦合度嚴重,架構師設計TPS達到50000/s的高效能架構沒有意義。
出現問題主要為了滿足“高可用”“高效能”“可擴充套件”三個方面,就算同時出現也要分優先順序。
【例】億級使用者平臺設計對標QQ,開始設計過於複雜,投入大量人力,上線後發現過度設計多此一舉,而且帶來很多問題:
- 執行效率低下,升級複雜,容易出錯。
- 開發效率低下。
- 小問題不斷,不好定位。
- 實際TPS遠未達到50000/s
真缺解決做法:
- 列出主要的複雜度問題
- 根據業務、技術、團隊等情況進行排序
- 優先解決最主要的複雜度問題
億級平臺應該先將子系統數量降下來。
識別複雜度對於架構師來說是一項挑戰,沒有經驗只能用“排查法”
相關推薦
【從零開始學架構-李運華】10|架構設計流程:識別複雜度
架構設計第一步:識別複雜度 架構設計的本質目的是為了解決系統複雜性,所以要先了解。 【例】一個系統的複雜度來源於業務邏輯複雜,功能耦合度嚴重,架構師設計TPS達到50000/s的高效能架構沒有意義。 出現問題主要為了滿足“高可用”“高效能”“可擴充套件”三
【從零開始學架構-李運華】03|架構設計的目的
架構設計的誤區 系統不一定需要架構設計; 架構設計不一定能提升開發效率; 好的架構設計能促進業務發展; 不是所有系統都需要架構設計; 等等…… 架構設計的真正目的 為了解決軟體複雜度帶來的問題 如何下手架構設計?
【從零開始學架構-李運華】07|低成本、安全、規模
低成本 高效能和高可用架構通常都是增加伺服器來滿足要求,但低成本正相反,當然也不是首要目標。 往往“創新”才能達到低成本的目標!! 技術創新: NoSQL(Memcache、Redis)等是為了解決關係型資料庫無法應對高併發帶來的訪問壓力。
【從零開始學架構-李運華】06|複雜地來源:可擴充套件性
可擴充套件性指系統為了應對將來需求的變化而提供的一種擴充套件能力,新需求出現時系統不需要或者僅需要少量修改就可以支援,無需整個系統重構或者重建。 面向物件就是為了解決可擴充套件性,後來的設計模式更是將可擴充套件性做到了極致。 具備良好擴充套件性的
Spring Boot使用模板freemarker【從零開始學Spring Boot(轉)
dep demo attach macro 使用 doctype com 地址 2016年 視頻&交流平臺:à SpringBoot網易雲課堂視頻http://study.163.com/course/introduction.htm?courseId=10
資料新增非同步解析重新整理大資料量redis (——)(三)Spring Boot普通類呼叫bean【從零開始學Spring Boot】
部落格分類: 從零開始學Spring Boot 從零開始學Spring BootSpring Boot普通類呼叫bean 【視訊&交流平臺】 à SpringBoot視訊 http://stu
【從零開始學日文】#4 15句日文基本生活問候語!學會讓日文變得更快樂
1,お早う(ございます) おはよう 2,こんにちは(ございます) こんにちは 3,お元気ですか 4,こばんは 5,おやすみなさい
【從零開始學日文】#6 簡單文型:「請問那個是..」日語基礎文型教學
❶これはAです(這是A) ❷これはAのBです(這是A的B) ❸このAはBのです(這個A是B的) 具體發音請觀看Youtube https://www.youtube.com/watch?v=yDuH4pjWtXM&list=PLuNucubP18snvU3Zz8
【從零開始學日文】#5 簡單文型:「初次見面我叫..」日文基礎文型教學★
A. 短劇會話中字翻譯(復習時念出來哦) ドリアン:「こんにちは」 (你好) さくら :「こんにちは」 (你好) ドリアン:「あ、初めまして、私はドリアンです。」 (啊,初次見面,我叫榴蓮) さくら :「初めまして
【從零開始學日文】#2 搞懂日文發音的5個特徵!濁音,促音,拗音..etc + 日文Q&A回答初學者朋友問的問題!
片假名(片仮名 カタカナ katakana)是日文的一種,與平假名合稱"假名"。片假名在平安時代為了訓讀而產生,但片假名字形在明治時期才統一確定下來,此前一個發音往往有多個片假名對應存在。 具體發音請觀看Youtube https://www.youtube.com/wa
【從零開始學日文】#1 日語50音的發音和寫法簡單教學!(平假名篇)
平假名是日語使用的一種表音文字,除一兩個平假名之外,均由漢字的草書演化而來,形成於公元9世紀。 圖片: 具體發音請觀看Youtube https://www.youtube.com/watch?v=GmRdUUVgSAA&index=1&list=PL
33. Spring Boot 監控和管理生產環境【從零開始學Spring Boot】
【視訊&交流平臺】 http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=40000000
(33)Spring Boot 監控和管理生產環境【從零開始學Spring Boot】
spring-boot-actuator模組提供了一個監控和管理生產環境的模組,可以使用http、jmx、ssh、telnet等拉管理和監控應用。審計(Auditing)、 健康(health)、資料採集(metrics gathering)會自動加入到應用裡面。 首先,寫
8. 使用JPA儲存資料【從零開始學Spring Boot】
【視訊&交流平臺】 http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=40000000
103. Spring Boot Freemarker特別篇之contextPath【從零開始學Spring Boot】
需求緣起:有人在群裡@我:請教群主大神一個問題,spring boot + freemarker 怎麼獲取contextPath 頭疼死我了,網上沒一個靠譜的 。我就看看之前部落格中的 【Spring Boot使用模板freemarker】好像確實沒有介紹到在.ftl檔案
31. Spring Boot匯入XML配置【從零開始學Spring Boot】
【視訊&交流平臺】 http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=40000000
2. Spring Boot返回json資料【從零開始學Spring Boot】
【視訊&交流平臺】 http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=40000000
35. Spring Boot整合Redis實現快取機制【從零開始學Spring Boot】
【視訊&交流平臺】 http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=40000000
51. spring boot屬性檔案之多環境配置【從零開始學Spring Boot】(
【視訊&交流平臺】 http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=40000000
(27)Spring Boot Junit單元測試【從零開始學Spring Boot】
Junit這種老技術,現在又拿出來說,不為別的,某種程度上來說,更是為了要說明它在專案中的重要性。 那麼先簡單說一下為什麼要寫測試用例 1. 可以避免測試點的遺漏,為了更好的進行測試,可以提高測試效率 2. 可以自動測試,可以在專案打包前進行測試校驗 3. 可以及時發現因為