一個(gè)“微”體現(xiàn)了微服務(wù)架構(gòu)與實(shí)踐的核心要素,也就是說服務(wù)的微型化,簡單來說就是一個(gè)微服務(wù)知識專注的做好一件事。當(dāng)然這件事緊密圍繞業(yè)務(wù)領(lǐng)域,形成了高度內(nèi)聚的自治性。
大型的應(yīng)用系統(tǒng),采用模塊化的分層式架構(gòu),所有的業(yè)務(wù)邏輯最終都會打進(jìn)一個(gè)代碼庫中統(tǒng)一的進(jìn)行部署。如果改動(dòng)一個(gè)地方其它的好幾個(gè)地方都需要改動(dòng),這就好比“洋蔥架構(gòu)”。特點(diǎn)就是一層又一層的粘連,重構(gòu)這樣的系統(tǒng)就像切洋蔥一樣讓人忍不住流淚一樣。
微服務(wù)架構(gòu)與實(shí)踐當(dāng)中是一個(gè)可以給架構(gòu)師提供很多權(quán)衡取舍的一個(gè)空間。每一個(gè)微服務(wù)實(shí)現(xiàn)層面的技術(shù)都是由服務(wù)負(fù)責(zé)人決定的,服務(wù)的分拆必定伴隨著決策權(quán)和責(zé)任的分析,同時(shí)這也就減輕了整體應(yīng)用負(fù)責(zé)人的責(zé)任負(fù)擔(dān)。架構(gòu)師雖然解放出來了從整體和全局上,我們更應(yīng)該能夠正確地監(jiān)控系統(tǒng)全局的健康性。
軟件系統(tǒng)會在他的生民周期中不斷的產(chǎn)生變化,但是唯一不變的就是變化,而我們的微服務(wù)架構(gòu)與實(shí)踐當(dāng)中,思路是不鼓勵(lì)這樣的一種方式的,將系統(tǒng)的演講都是通過局部的新增、改進(jìn)或者是替換微服務(wù)來實(shí)現(xiàn)的。在微服務(wù)的周期變化中,從整體來看就是一種漸進(jìn)式、符合自然進(jìn)化的一種系統(tǒng)演進(jìn)道路。我們的微服務(wù)架構(gòu)微妙之處就在于他很是符合城市歷史的演進(jìn)規(guī)律,能夠隨著人員變化、時(shí)間和技術(shù)的改進(jìn)來引發(fā)自然漸進(jìn)式的進(jìn)化。