1. 程式人生 > >【從零開始學架構-李運華】03|架構設計的目的

【從零開始學架構-李運華】03|架構設計的目的

架構設計的誤區

    系統不一定需要架構設計;

    架構設計不一定能提升開發效率;

    好的架構設計能促進業務發展;

    不是所有系統都需要架構設計;

    等等……

架構設計的真正目的

    為了解決軟體複雜度帶來的問題

如何下手架構設計?

    1.熟悉和理解需求

    2.架構設計並不是面面俱到,而是識別問題有針對性的解決

    3.理解每個架構方案背後需要解決問題的複雜點,然後對比自己

    做到有的放矢,不要貪大求全

【例項分析】

專案:學生管理系統

功能:登陸註冊、成績管理、課程管理等

效能:1-2萬,單人日訪問量不足1,MySQL儲存,快取不需要,Web伺服器用Nginx

擴充套件性:需求穩定,可擴充套件性不復雜

高可用:宕機2小時影響不大,不需要複雜均衡和異地多活,需要資料保護避免丟失。MySQL主備(跨機房)

安全性:Nginx的ACL控制、使用者賬號密碼管理、資料庫訪問許可權控制

成本:沒問題

對應架構如下:

相關推薦

開始架構-03|架構設計的目的

架構設計的誤區     系統不一定需要架構設計;     架構設計不一定能提升開發效率;     好的架構設計能促進業務發展;     不是所有系統都需要架構設計;     等等…… 架構設計的真正目的     為了解決軟體複雜度帶來的問題 如何下手架構設計?

開始架構-10|架構設計流程:識別複雜度

架構設計第一步:識別複雜度 架構設計的本質目的是為了解決系統複雜性,所以要先了解。 【例】一個系統的複雜度來源於業務邏輯複雜,功能耦合度嚴重,架構師設計TPS達到50000/s的高效能架構沒有意義。 出現問題主要為了滿足“高可用”“高效能”“可擴充套件”三

開始架構-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. 可以及時發現因為