日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

前面已經聊到了如何做高層架構設計,并開始讓設計落地,去劃分了系統邊界,進行了服務和模塊的拆分,也就是系統的整體輪廓已經有了。

接下來,就該來做整體的技術架構設計了。

其實做架構設計一點都不神秘,都是有章可循,有方法可依的。

一:做整體的技術架構設計的基本方法:

其實做整體技術架構的方法相對簡單,就是一個不斷做決策的過程

最后把你的各個決策的結果組合起來,就是整體的技術架構了。

雖然方法很簡單,但這個階段的責任重大。架構的好壞,決定了后期開發的難易程度;也決定了系統性能的好壞、系統的穩定性、安全性、可擴展性等等的。

項目架構好壞,也間接影響了項目的工期、成本、人力等等的。可以這么說,架構的好壞,基本上決定了項目的成敗。

方法看似簡單,但是對架構師的能力要求是比較高的,技術知識的廣度、深度,技術架構設計的經驗等,都會有較高的要求。

解決一個問題,通常都不只一種方法,也就是架構師要有很多備選的方案,然后就需要做決策,到底用A方案好,還是B方案好呢?

這就取決于架構師對它們理解的深度了,經過比較他們的適用場景、優點缺點,再綜合考慮項目的實際需要,才能決策出具體要選用那個方案,并給出令人信服的依據或理由。

這也就是我們經常說的,最合適的方案才是最好的方案。

程序員的架構師之路:如何做整體技術架構(經驗總結干貨)

 

二:做整體的技術架構設計的基本步驟

步驟一:根據應用風格來確定技術架構的風格

比如是一個單體應用還是一個分布式的應用,這就是應用風格。

假如就是一個小管理軟件,公司內部使用,一共也就幾十個人用,做個單體應用,Tomcat和數據庫放一臺服務器部署就可以了。

或者是一個單體集群的應用,規模比單獨一個應用部署稍大一些,需要部署多個Tomcat,前面再配上Nginx做反向代理和負載均衡。

也有可能是分布式應用,或者是微服務應用,大數據分析應用,人工智能AI應用,等等的。

不同的應用風格,需要使用的技術組合是不一樣的,技術架構形式也是不一樣的。

架構師就需要根據不同的應用風格,結合系統實際要求,來選擇使用不同的技術架構形式,并結合實際應用進行調整。

比如說是微服務的應用,可能主要的選擇就是Springboot + SpringCloud體系;但也有從早期Dubbo轉過來的,現在Dubbo3.x也出來了,也可以選用Dubbo來實現微服務。

又比如大數據分析的應用,可能會考慮Hdoop體系;AI應用可能會考慮Python+Tensorflow等等。

不管怎么選擇,在這個階段,架構師需要做一個決策,把技術架構方案的風格和基本技術路線確定下來。

程序員的架構師之路:如何做整體技術架構(經驗總結干貨)

 

步驟二:確定基礎框架

確定好技術架構風格和基本技術路線過后,就該來確定基礎框架了。

比如我們前面確定了是微服務的架構形式,選的技術路線是Springboot + SpringCloud,那好,這里就要把基礎的框架確定下來。

比如單個服務使用Springboot +SpringMVC+Spring+Mybatis,每個服務部署在Docker里面。至于SpringCloud,還需要考慮版本,是選1.5.x還是選2.x的,里面的技術組件是不一樣的。

比如選了SpringCloud2.x的,就要來確定內部組件怎么選擇,怎么組合,一種可能的選擇是:SpringCloud Gateway + Nacos +Feign+ LoadBalancer + Sentinel + Seata 等等的。

總之,這個步驟里面,把要使用到的基礎框架確定下來。

步驟三:確定基本技術棧

在確定的基礎框架之上,通盤考慮整個項目要用的主要技術,把它們確定下來,并明確好版本。

除了前面提到的,還需要考慮其它要使用的技術,比如:

緩存體系:redis6.x

MQ:Kafka2.8

分庫分表:ShardingSphere5.x

搜索引擎:ElasticSearch7.x

數據庫:MySQL8.x

等等的吧,一個項目涉及很多技術,有些是開發上用,還有部署需要的,比如Nginx,還有運維需要的,比如Zabbix等等。

這些都要確定下來,后面的架構設計和詳細設計,就需要在這里確定的圈子下來進一步細化了。

程序員的架構師之路:如何做整體技術架構(經驗總結干貨)

 

步驟四:組合技術棧中的技術和框架,形成初步的整體技術架構

前面是不斷選擇,不斷決策,把要用到的東西都選出來,然后呢?

就需要把它們有機地組合起來,形成一個整體,這樣就得到了一個初步的整體技術架構了,是不是很簡單?

最后,架構師把這個組合,畫圖展示出來,就是整體技術架構設計圖;把選擇過程,選擇理由,選擇目的,解決了什么問題 等內容,寫成文檔,就是整體技術架構設計文檔了。

步驟五:對初步的整體技術架構進行細化

在確定的初步的整體技術架構基礎上,進一步細化,完善整個技術架構設計。

通常是結合系統的一些重難點問題,深入到每一種技術里面,明確采用什么方式,什么架構,怎么組合,來具體解決這些問題。

比如:系統實現中會用到分布式鎖,如果前面確定使用Zookeeper來實現,那好,具體使用Zookeeper的什么特性來實現,大致實現的機制是怎樣的?可能會出現什么樣的問題?怎么解決或預防這些問題? 等等,都是細化的內容。

把所有關注的問題,都分析清楚了,方案細化好了,基本上這個時候的技術架構也比較完善了,差不多技術架構也就設計好了。

這里只是講述了整體技術架構的基本方法和步驟,實際過程是非常繁雜的,需要考慮的技術點很多,要決策的地方很多,要解決的問題也很多,并沒有看上去這么輕松。

另外,限于篇幅,還有文字的表現力,沒有去舉詳細的例子,這個以后有機會的話,再給大家視頻講解吧。

還有再強調一次,架構設計的方法并不復雜,但是要真正掌握,沒有很好的、持續的訓練和思考,想要真正掌握,還是比較困難的。因此,大家一定要在實際工作中,去實踐這些方法,反復思考、反復實踐,最終才能內化成為你的能力。到了那一天,你也就自然成為了真正的架構師了!

如果你覺得本系列文章還不錯,能夠給你一些啟發和思考的話,請關注、點贊、收藏加轉發,讓更多的朋友加入到我們的行列,謝謝啦!

更多架構師之路干貨文章,已在路上,稍后就到!

分享到:
標簽:架構 技術
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定