掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
目錄

在成都做網(wǎng)站、網(wǎng)站設(shè)計、外貿(mào)營銷網(wǎng)站建設(shè)中從網(wǎng)站色彩、結(jié)構(gòu)布局、欄目設(shè)置、關(guān)鍵詞群組等細(xì)微處著手,突出企業(yè)的產(chǎn)品/服務(wù)/品牌,幫助企業(yè)鎖定精準(zhǔn)用戶,提高在線咨詢和轉(zhuǎn)化,使成都網(wǎng)站營銷成為有效果、有回報的無錫營銷推廣。創(chuàng)新互聯(lián)建站專業(yè)成都網(wǎng)站建設(shè)十載了,客戶滿意度97.8%,歡迎成都創(chuàng)新互聯(lián)客戶聯(lián)系。
一、前言
架構(gòu),說的是開發(fā)用的框架嗎?
對于剛接觸編程的新人來說,可能并能很清楚的知道架構(gòu)是怎么來的,都包括什么內(nèi)容。如果非得說什么架構(gòu),那么可能就是目前在 IDEA 中打開的工程就是架構(gòu)。
拋開技術(shù)圈內(nèi)的架構(gòu)而已,蓋房子的圖紙算不算架構(gòu)、做豆腐的步驟算不算架構(gòu)、結(jié)婚的流程算不算架構(gòu)?歸納得出,所有的這些步驟都在計算成本、耗材、執(zhí)行和產(chǎn)出,那么架構(gòu)就可以看做是一個用于完成目標(biāo)結(jié)果的指導(dǎo)藍圖,現(xiàn)在在放到技術(shù)架構(gòu)的層面來看,架構(gòu)就不只是我們研發(fā)人員用到的技術(shù)框架,還需要根據(jù)場景、規(guī)模,設(shè)定技術(shù)選型、實施標(biāo)準(zhǔn)、部署結(jié)構(gòu),綜合來完成一個項目的交付。
綜上,就是我們研發(fā)人員在做架構(gòu)設(shè)計時要考慮的核心內(nèi)容,隨著我們技術(shù)的不斷迭代也會有更多更新的思想,就像20年熱起來中臺、21年熱起來的低代碼,都是為了更好的讓架構(gòu)降本增效的實施方案。
但如果想了解和學(xué)習(xí)架構(gòu),最好還是要從它是一顆小樹苗時候看起,看看它是如何一點點長大的。在頭腦中有了一個這樣的架構(gòu)體系,也能讓大家更好的理解和設(shè)計你需要的架構(gòu)。
二、架構(gòu)演變
1. 單體架構(gòu)
2. 應(yīng)用與數(shù)據(jù)庫分離
3. 使用緩存抗量
4. 多應(yīng)用部署和Nginx反向代理
5. 數(shù)據(jù)庫讀寫分離
體量:
技術(shù):tomcat、weblogic、Java、Oracle、MVC、Redis、Nginx
描述:數(shù)據(jù)庫的讀寫分離設(shè)計,更多的是因為某些業(yè)務(wù)場景需要大量的事務(wù)性寫入,影響到需要讀操作的業(yè)務(wù)。但讀寫分離的設(shè)計并沒有太大程度上提升系統(tǒng)性能,因為很大程度的讀操作已經(jīng)使用 Redis 抗住。不過這樣的設(shè)計思路卻為后續(xù)的架構(gòu)模型提供了新的思路。
6. 應(yīng)用分組部署
7. 應(yīng)用分庫設(shè)計
體量:
技術(shù):tomcat、weblogic、Java、Oracle、MVC、Redis、Nginx、MyCat
描述:當(dāng)應(yīng)用按照不同的業(yè)務(wù)各自系統(tǒng)拆分以后,接下來的瓶頸就在于已經(jīng)獨立的應(yīng)用用戶體量依舊很大,對應(yīng)的數(shù)據(jù)庫熱連接數(shù)持續(xù)增高。所以在當(dāng)前條件下,開始設(shè)計應(yīng)用分庫操作,同時后可能也會在這個階段引入分表操作。這樣一來單個應(yīng)用的負(fù)載能力又得到了一大截的提升,但是拆庫以后也需要引入分布式事務(wù)、數(shù)據(jù)匯總等其他技術(shù)的使用,來解決拆庫新增的問題。
8. RPC 分布式部署
體量:
技術(shù):tomcat、weblogic、Java、Oracle、MVC、Redis、Nginx、MyCat、RPC、LVS/F5
描述:在系統(tǒng)不斷的再精細(xì)化設(shè)計以后,其實某些服務(wù)并不需要持續(xù)的連庫操作,它們可能更多的是業(yè)務(wù)邏輯的包裝,同時這些數(shù)據(jù)庫層的操作應(yīng)用屬于底層系統(tǒng),那么就可以把這樣系統(tǒng)用于連庫操作,而上層服務(wù)通過RPC框架來連接這樣的服務(wù)。那么,現(xiàn)在就可以通過分布式部署的方式,提升整體的服務(wù)性能。
9. 應(yīng)用細(xì)分和網(wǎng)關(guān)引入
體量:
技術(shù):tomcat、weblogic、Java、Oracle、MVC、Redis、Nginx、MyCat、RPC、LVS/F5、網(wǎng)關(guān)、MQ、分布式任務(wù)、Elasticsearch
描述:從上到下的整個架構(gòu)演變過程,我們不斷的拆分應(yīng)用、單獨部署一直到應(yīng)用細(xì)分,都是在不斷的提升應(yīng)用服務(wù)的能力,讓各自應(yīng)用體負(fù)責(zé)獨立的事情。這個階段已經(jīng)開始體現(xiàn)出微服務(wù)的能力了,同時這個階段也引入了上層的網(wǎng)關(guān)統(tǒng)一接入和下層的數(shù)據(jù)使用能力。
10. 低代碼編程和可復(fù)用
體量:
技術(shù):tomcat、weblogic、Java、Oracle、MVC、Redis、Nginx、MyCat、RPC、LVS/F5、網(wǎng)關(guān)、MQ、分布式任務(wù)、Elasticsearch、SDK、低代碼、支撐服務(wù)
描述:在目前這個階段服務(wù)框架基本已經(jīng)可以很好的支撐用戶體量,所以也開始考慮如何更高效的開發(fā)和交付問題。那么也就引入了服務(wù)編排、服務(wù)治理以及通用的模塊、組件和中間件。而這些設(shè)計其實壓縮來看基本就是以前你開發(fā)的一個應(yīng)用而已,不過把所有非業(yè)務(wù)邏輯的通用性功能不斷的拆分出來了,再通過這些細(xì)分的組件和服務(wù)能力的編排,提供所需接口,這樣一來也就大大的提升了可持續(xù)交付集成的效率。
三、架構(gòu)圖下載
有小伙伴反饋看了架構(gòu)圖,也有了點自己的想法,但是動手畫的時候就很懵,不知道從哪開始。那么小傅哥把畫的架構(gòu)圖原稿分享給大家,可以讓感興趣的小伙伴下載使用。
四、總結(jié)

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流