- Spring Cloud微服務(wù)架構(gòu)實(shí)戰(zhàn)
- 陳韶健
- 1214字
- 2020-05-09 11:15:12
1.5 為實(shí)施微服務(wù)架構(gòu)做好準(zhǔn)備
微服務(wù)架構(gòu)并不是一種新技術(shù),它只是一種全新的設(shè)計(jì)理念,所以,為了能夠更好地實(shí)施微服務(wù)架構(gòu)設(shè)計(jì),我們必須做好前期準(zhǔn)備,從思想觀念、團(tuán)隊(duì)管理和自動(dòng)化基礎(chǔ)設(shè)施上進(jìn)行相應(yīng)的變革。
1.5.1 思想觀念
在進(jìn)入微服務(wù)領(lǐng)域之前,必須從做項(xiàng)目的觀念轉(zhuǎn)變成做產(chǎn)品的觀念。如果是一個(gè)軟件項(xiàng)目,在完成了業(yè)務(wù)需求的設(shè)計(jì)之后,最終交付使用,其項(xiàng)目開發(fā)的生命周期就宣告結(jié)束。而做產(chǎn)品則完全不一樣,只要產(chǎn)品成型上線,產(chǎn)品有存在的價(jià)值,開發(fā)就永遠(yuǎn)沒有終結(jié)。隨著產(chǎn)品的更新?lián)Q代,其中的應(yīng)用程序和組件也要跟著不斷地進(jìn)行更新和迭代。
微服務(wù)架構(gòu)的漸進(jìn)式設(shè)計(jì)的特點(diǎn),就是一種做產(chǎn)品的觀念的真實(shí)體現(xiàn)。一方面,一個(gè)產(chǎn)品的最初成型設(shè)計(jì),由于種種原因并不可能把所有功能都考慮得很周到,這需要一定的時(shí)間進(jìn)行慢慢的磨合與創(chuàng)新。另一方面,市場(chǎng)總是處于變化之中,所以產(chǎn)品的業(yè)務(wù)功能也會(huì)隨著時(shí)間的推移而發(fā)生一定的變化。
做產(chǎn)品的觀念將貫穿于一個(gè)系統(tǒng)平臺(tái)的整個(gè)生命周期之中,并隨著平臺(tái)的發(fā)展和演化,最終將產(chǎn)品打造成一個(gè)充滿活力的生態(tài)體系。
1.5.2 團(tuán)隊(duì)管理
傳統(tǒng)的團(tuán)隊(duì)管理,是按技術(shù)進(jìn)行分組的。在一個(gè)開發(fā)團(tuán)隊(duì)中,可能有UI設(shè)計(jì)組、前端開發(fā)組、后端開發(fā)組、測(cè)試組和運(yùn)維組等。
在微服務(wù)架構(gòu)實(shí)施中,開發(fā)時(shí)是按業(yè)務(wù)功能進(jìn)行劃分的,所以對(duì)團(tuán)隊(duì)的管理,最好也以業(yè)務(wù)進(jìn)行分組,將產(chǎn)品設(shè)計(jì)、前端開發(fā)、后端開發(fā)、測(cè)試和運(yùn)維等人員圍繞業(yè)務(wù)功能分配在同一組中,這樣不但可以增強(qiáng)團(tuán)隊(duì)的凝聚力,還可以避免將大量的時(shí)間浪費(fèi)在不同組別的溝通和工作協(xié)調(diào)上。
在實(shí)際操作中,因?yàn)榍岸碎_發(fā)和運(yùn)維管理的消耗不是很大,所以對(duì)這兩部分人員可以進(jìn)行機(jī)動(dòng)的調(diào)整。但這種調(diào)整最好是在業(yè)務(wù)相近的領(lǐng)域中進(jìn)行的,并保持一定的連貫性,即原來由誰負(fù)責(zé)的工作,在更新和維護(hù)時(shí)還是由他來負(fù)責(zé)。
為了減少資源的浪費(fèi)和增加每個(gè)人員的工作飽和度,一個(gè)業(yè)務(wù)小組往往并不只負(fù)責(zé)一個(gè)微服務(wù),有可能負(fù)責(zé)兩三個(gè)微服務(wù)的開發(fā),這主要由微服務(wù)劃分的粗細(xì)粒度來定。
1.5.3 自動(dòng)化基礎(chǔ)設(shè)施
從整體式架構(gòu)向微服務(wù)架構(gòu)轉(zhuǎn)變之后,項(xiàng)目數(shù)量會(huì)增加,迭代的周期會(huì)變短,對(duì)測(cè)試和運(yùn)維人員也會(huì)提出更高的要求,并且其工作量會(huì)越來越大,所以單純依靠人力來完成這兩部分的工作是遠(yuǎn)遠(yuǎn)不夠的,這就要求必須有自動(dòng)化基礎(chǔ)設(shè)施的支持,來完成自動(dòng)集成、自動(dòng)測(cè)試,以及持續(xù)交付、持續(xù)部署的工作。
一個(gè)原來由幾個(gè)項(xiàng)目支撐起來的應(yīng)用平臺(tái),在使用微服務(wù)架構(gòu)進(jìn)行拆分之后,可能會(huì)變成幾十個(gè)項(xiàng)目,甚至上百個(gè)項(xiàng)目。如果還像原來那樣分配測(cè)試和運(yùn)維工作,則勢(shì)必要增加更多的人員。
在服務(wù)器資源的使用上,也會(huì)相應(yīng)的有所增加。因?yàn)槊總€(gè)微服務(wù)應(yīng)用所占用的資源并不是很大,所以可以在原來的服務(wù)器中使用虛擬機(jī)技術(shù)擴(kuò)展服務(wù)器群組。對(duì)于微服務(wù)的部署,我們將主要以Docker容器為主導(dǎo),使用虛擬化技術(shù)實(shí)施自動(dòng)化建設(shè),這樣可以非常自由地將微服務(wù)分散部署在分布式環(huán)境之中。而對(duì)于中小型企業(yè)來說,更好的實(shí)施方案是使用云計(jì)算服務(wù)商提供的資源,這樣能更有效地利用服務(wù)器的資源。
- Learning Cocos2d-x Game Development
- 龍芯應(yīng)用開發(fā)標(biāo)準(zhǔn)教程
- BeagleBone By Example
- 硬件產(chǎn)品經(jīng)理成長(zhǎng)手記(全彩)
- Unity 5.x Game Development Blueprints
- 數(shù)字邏輯(第3版)
- 從零開始學(xué)51單片機(jī)C語言
- Practical Machine Learning with R
- 單片機(jī)原理及應(yīng)用:基于C51+Proteus仿真
- 微控制器的應(yīng)用
- Arduino項(xiàng)目案例:游戲開發(fā)
- 計(jì)算機(jī)組裝與維護(hù)(慕課版)
- 筆記本電腦維修技能實(shí)訓(xùn)
- Learning Microsoft Cognitive Services
- USB 3.0編程寶典