微服務實踐:從單體式架構遷移到微服務架構

遷移到微服務綜述架構

遷移單體式應用到微服務架構意味着一系列現代化過程,有點像這幾代開發者一直在作的事情,實時上,當遷移時,咱們能夠重用一些想法。ide


一個策略是:不要大規模(big bang)重寫代碼(只有當你承擔重建一套全新基於微服務的應用時候能夠採用重寫這種方法)。重寫代碼聽起來很不錯,但實際上充滿了風險最終可能會失敗,就如Martin Fowler所說:「the only thing a Big Bang rewrite guarantees is a Big Bang!」微服務


相反,應該採起逐步遷移單體式應用的策略,經過逐步生成微服務新應用,與舊的單體式應用集成,隨着時間推移,單體式應用在整個架構中比例逐漸降低直到消失或者成爲微服務架構一部分。這個策略有點像在高速路上限速到70邁對車作維護,儘管有挑戰,可是比起重寫的風險小不少。開發


Martin Fowler將這種現代化策略成爲絞殺(Strangler)應用,名字來源於雨林中的絞殺藤(strangler vine),也叫絞殺榕(strangler fig)。絞殺藤爲了爬到森林頂端都要纏繞着大叔生長,一段時間後,樹死了,留下樹形藤。這種應用也使用同一種模式,圍繞着傳統應用開發了新型微服務應用,傳統應用會漸漸退出舞臺。it

相關文章
相關標籤/搜索