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