原創(chuàng)文章,歡迎轉(zhuǎn)載。轉(zhuǎn)載請注明:轉(zhuǎn)載自IT人故事會,謝謝!
創(chuàng)新互聯(lián)建站專注于小店企業(yè)網(wǎng)站建設,成都響應式網(wǎng)站建設公司,商城開發(fā)。小店網(wǎng)站建設公司,為小店等地區(qū)提供建站服務。全流程按需制作,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務
原文鏈接地址:『高級篇』docker容器來說軟件架構(gòu)的進化(二)也工作了10年了,對于軟件的架構(gòu)也是不斷學習總結(jié),怎么樣的發(fā)展到微服務的架構(gòu)。
在軟件的內(nèi)部,經(jīng)過綜合各種因素的考量,權(quán)衡選擇特定的技術(shù),將系統(tǒng)劃分不同的部分并使這些相互分工,彼此寫作,為用戶提供需要的價值。
哪些因素
2007年在河南本地的一個公司實習,負責的是一個老系統(tǒng),它用到了jsp和servlet,jdbc的技術(shù),java早期的標準技術(shù),在jsp里面看到了html,還看到了一大片一大片的java代碼,直接寫在jsp里面。在servlet里面有上千行的代碼,300,500行都很平常的事情,包含了業(yè)務邏輯,返回給jsp的業(yè)務內(nèi)容,業(yè)務操作,數(shù)據(jù)庫操作。維護起來讓你很崩潰,不過才畢業(yè)也就忍了,堅持了半年。后來要去濟南。這種在極其簡單的業(yè)務里面還是可行的,但是現(xiàn)在也看不到了。
MVC
2008年去了濟南,濟南畢竟要全國知名的公司就進入了。雖然是996,但是感覺還好,至少代碼不那么復雜了,雖然是jsp,java代碼基本沒有,分了很多文件夾,層次清晰分工明確,也學到MVC的三層架構(gòu)。解決了代碼調(diào)用雜亂無章,讓代碼清晰,通過各層之間定義接口的方式,讓接口和實現(xiàn)分離,可以將原來的實現(xiàn)替換成方案,讓別人理解,降低了溝通成本,維護成本,分工的明確各司其職,很長時間都是軟件的架構(gòu)經(jīng)典模式。像SSH 和SSM其實MVC的實現(xiàn)。
2013年換了一家公司,dubbo那時候才出來1年,公司嘗試用dubbo改造一個核心系統(tǒng),為什么要用dubbo,因為里面java代碼加頁面代碼100多萬行,需求每個月還不斷的添加,牛逼了我的哥!3年以上的人至少2-3個月熟悉都不一定能上手,只能想辦法拆分,拆分的過程也是對老代碼進行梳理和重構(gòu),dubbo的出現(xiàn)可以讓前后端物理上隔離開來,完全變成2個可以單獨維護的模塊,從感官上復雜度就下降了一半,這種開發(fā)歷程,在河南這邊可能不太明顯,在北上廣應該都有類似的經(jīng)歷。多年的開發(fā)的人員。
其實上邊的說的都是單體架構(gòu),很多目前的公司也都是單體架構(gòu),雖然dubbo,分離成了前后2個個體,但他并不是微服務。
功能,業(yè)務集中在一個發(fā)布包里,部署運行在同一個進程中。
優(yōu)勢
隨著很多傳統(tǒng)行業(yè)往互聯(lián)網(wǎng)考慮,業(yè)務變化瞬息萬變,系統(tǒng)的升級也越來越頻繁,用戶的數(shù)量快速增長,單體架構(gòu)已經(jīng)無法滿足互聯(lián)網(wǎng)的發(fā)展了,它有很多致命的硬傷。
PS:綜上所述,單體架構(gòu)已經(jīng)out了,老鐵,可以考慮其他了,如何考慮下回繼續(xù)說。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。