官术网_书友最值得收藏!

在業(yè)務(wù)驅(qū)動(dòng)的時(shí)代,企業(yè)大多急于解決效率、成本和質(zhì)量的問題,開發(fā)團(tuán)隊(duì)的不穩(wěn)定,導(dǎo)致業(yè)務(wù)設(shè)計(jì)、技術(shù)架構(gòu)和代碼脈絡(luò)的不連續(xù)性。企業(yè)領(lǐng)導(dǎo)對(duì)技術(shù)儲(chǔ)備的不重視,導(dǎo)致企業(yè)內(nèi)部重業(yè)務(wù)、輕技術(shù),很多研發(fā)人員缺乏設(shè)計(jì)意識(shí)。各個(gè)行業(yè)對(duì)軟件系統(tǒng)的訴求越來越多,導(dǎo)致軟件系統(tǒng)規(guī)模不斷增大、復(fù)雜度不斷增加,最終的結(jié)果是系統(tǒng)難以擴(kuò)展、維護(hù)、重構(gòu)、跟蹤、評(píng)估工期。軟件在發(fā)展過程中會(huì)面臨遺留系統(tǒng)的種種問題,但“外科手術(shù)”治不好遺留系統(tǒng)復(fù)雜的病癥,這是架構(gòu)需要演進(jìn)的根源之一。

復(fù)雜系統(tǒng)的各個(gè)組成部分自然趨向于混亂無序,越混亂,越穩(wěn)定。如果要打破混亂、建立秩序,根據(jù)熵增定律,就要賦予系統(tǒng)一定的力量或者能量。混亂是事物最自然的狀態(tài),秩序卻不是,但是人們希望有秩序,所以要付出代價(jià)建立制度,并維護(hù)秩序。

在這個(gè)背景下,軟件系統(tǒng)的架構(gòu)一步步演進(jìn)和發(fā)展,經(jīng)歷了單體架構(gòu)、分布式應(yīng)用架構(gòu)、微服務(wù)架構(gòu)、服務(wù)網(wǎng)格架構(gòu)、Serverless架構(gòu)……其中,單體架構(gòu)經(jīng)歷了簡單單體時(shí)期(例如經(jīng)典的JSP)、MVC分層時(shí)期(各種MVC框架受到追捧)、前后端分離時(shí)期。從整體上看,這一次次的演進(jìn)是軟件垂直和水平方向上的拆分,屏蔽了底層與重新定位。在演進(jìn)過程中,軟件開發(fā)人員的關(guān)注點(diǎn)越來越遠(yuǎn)離底層的部分,更多地關(guān)注上層簡單的架構(gòu),技術(shù)團(tuán)隊(duì)的職能劃分也越來越清晰。這使得軟件的研發(fā)過程更高效,質(zhì)量更可控,工期也更易評(píng)估。從這個(gè)角度來看,作為技術(shù)人員,我們都需要用歷史的眼光去看技術(shù)的發(fā)展,擁抱變化。

微服務(wù)架構(gòu)不是銀彈,就像最近不斷被提起的中臺(tái)不能解決所有企業(yè)的問題。我們有時(shí)會(huì)存在某種認(rèn)知的誤區(qū),對(duì)成功案例方法本身的關(guān)注甚于對(duì)問題本身的關(guān)注。企業(yè)的健康發(fā)展在于發(fā)現(xiàn)、分析和解決自身的問題,而不是盲目模仿成功的企業(yè)。

基于以上的警示,是否要在團(tuán)隊(duì)內(nèi)部進(jìn)行微服務(wù)實(shí)踐?微服務(wù)落地該如何選型呢?作為一個(gè)技術(shù)人員,選擇需要慎重。希望Spring Cloud能夠幫你解決當(dāng)前的問題,而不只是做一個(gè)簡單的門戶或者網(wǎng)站,因?yàn)闆]有必要為一兩個(gè)簡單的管理系統(tǒng)來維護(hù)Spring Cloud的一整套組件。在為新系統(tǒng)和遺留系統(tǒng)選擇使用Spring Cloud前,我們需要分析當(dāng)前面臨的問題。

我見過一些團(tuán)隊(duì)對(duì)選型的背景、原因和目的并不是十分了解,就在新項(xiàng)目中直接使用Spring Cloud,只是為了不讓自己與當(dāng)前服務(wù)化階段受追捧的微服務(wù)架構(gòu)潮流脫節(jié)。很少有人在選型前對(duì)自己軟件系統(tǒng)的規(guī)模、所在企業(yè)的底層資源自動(dòng)化的程度、技術(shù)團(tuán)隊(duì)的組織形式、當(dāng)前業(yè)務(wù)所面臨的問題、團(tuán)隊(duì)的技術(shù)棧,以及引入Spring Cloud的成本等進(jìn)行關(guān)注和研究。

我也見過一些團(tuán)隊(duì)在遺留系統(tǒng)復(fù)雜度高、業(yè)務(wù)耦合嚴(yán)重、模塊劃分不清晰,甚至模塊拆分在垂直和水平層面都不徹底時(shí),整個(gè)系統(tǒng)臃腫不堪,團(tuán)隊(duì)迫不得已用Spring Cloud將遺留系統(tǒng)強(qiáng)勢(shì)進(jìn)行拆分,在將復(fù)雜系統(tǒng)遷移到Spring Cloud的過程中遇到了很多問題。

《深入理解Spring Cloud與微服務(wù)構(gòu)建(第2版)》深入淺出地講解了Spring Cloud生態(tài)組件,包括服務(wù)注冊(cè)發(fā)現(xiàn)組件Eureka、配置中心Spring Cloud Config、容錯(cuò)組件Hystrix、接入賦能組件Zuul、路由負(fù)載均衡組件(高可用性和穩(wěn)定性)Ribbon等,使讀者能夠熟悉Spring Cloud各組件的作用和使用方法。

此外,本書還對(duì)一些技術(shù)點(diǎn)舉一反三,例如在講解RestTemplate作為網(wǎng)絡(luò)請(qǐng)求時(shí),提到其他Spring Template,包括JdbcTemplate和JmsTemplate等。本書實(shí)用性強(qiáng),代碼示例全面,能夠使讀者在技術(shù)學(xué)習(xí)方法與認(rèn)知上有一定的轉(zhuǎn)變和提升。

我相信無論是正在學(xué)習(xí)Spring Cloud的朋友,還是正在推進(jìn)或選型Spring Cloud落地的團(tuán)隊(duì),都能從本書中有所收獲。

中國的近現(xiàn)代史是一段“師夷長技以制夷”的歷史,在如今信息技術(shù)和互聯(lián)網(wǎng)技術(shù)快速發(fā)展的時(shí)代,我們不能只停留于學(xué)習(xí)和模仿,更要發(fā)現(xiàn)、耕耘、創(chuàng)新。在此與大家共勉!

徐凌云 高級(jí)架構(gòu)師

2019年夏 于湖北

主站蜘蛛池模板: 攀枝花市| 酉阳| 海宁市| 南城县| 水富县| 武城县| 乌兰察布市| 平阳县| 扎囊县| 临澧县| 桂东县| 关岭| 通道| 嵩明县| 桐庐县| 台东县| 宕昌县| 将乐县| 城步| 观塘区| 庆安县| 崇义县| 来宾市| 广水市| 德安县| 通化市| 郑州市| SHOW| 专栏| 鄂托克旗| 雷波县| 新安县| 和龙市| 河西区| 林西县| 平利县| 永泰县| 张掖市| 安阳县| 莎车县| 忻城县|