微服務(wù)和數(shù)據(jù)層
一種看待微服務(wù)的方式是每個微服務(wù)都是一個隱式的三層獨(dú)立系統(tǒng)。不過我們通常不為每一個微服務(wù)都實現(xiàn)所有的層。了解之后,我們便能發(fā)現(xiàn)每個微服務(wù)都可以實現(xiàn)自己的數(shù)據(jù)層。這樣的優(yōu)勢在于增加了各服務(wù)之間的隔離。
【以我的經(jīng)驗看,把企業(yè)的所有數(shù)據(jù)都放在一個單獨(dú)的數(shù)據(jù)庫或至少
相同的數(shù)據(jù)庫類型里更加普遍。這種做法更常見,但不見得更好。
種方式各有利弊。若是系統(tǒng)之間的隔離很明顯,部署變更就會更簡單。反之,把所有數(shù)據(jù)都存在同一個數(shù)據(jù)庫會讓數(shù)據(jù)模型更為簡單。
DevOpS、架構(gòu)和彈性
我們已經(jīng)從DevOps的角度看到微服務(wù)架構(gòu)有許多值得擁有的特質(zhì)。DevOps的一個重要目標(biāo)是更快地為用戶交付新特性。這是微服務(wù)提供的大量模塊化所帶來的結(jié)果。
那些擔(dān)心微服務(wù)會提供一個毫無瑕疵的完美解決方案從而讓生活變得沒意思的人可以解脫了。微服務(wù)有它自己的挑戰(zhàn)。
我們想要能夠盡快部署新代碼,但是我們也想要可靠的軟件。
微服務(wù)在系統(tǒng)間有更多的集成點,比起單塊系統(tǒng)來說更有可能失敗。