扼殺者樣板

馬丁佛洛曾寫一個關於獨佔系統優先方法的好文章.讓我摘要他文章中兩個有趣觀點:

所有成功的微服務故事都起源於一個長到太大然後破裂的獨占系統.

所有我聽過從頭建立微系統的案例.嚴重麻煩都在此終了

對我們這些企業應用軟體的軟體開發者而言,或許我們都算幸運-我們不必拋棄所有東西從頭做我們可以結束嚴重麻煩.但真正幸運的部分是我們已經有一個在維護的量產獨佔系統.

獨佔系統優先也稱扼殺者樣板因為他重組叫做扼殺圖的開發樹.這扼殺圖在主樹頂端是由小開始的.他的屋頂朝向地下開始長大.他開始越來越壯當他一旦抵達地面.最終這圖案樹變得大過於主樹,有時甚至殺了主樹.或許這是一個完美的比喻如同隱藏在我們內心某處殺掉獨佔系統怪獸的深度渴望.

有一個穩定的獨佔系統是一個好的開始.因為在軟體最困難的事之就是在領域模式中識別邊界,事件一起改變,事件部分改變.建立錯誤的邊界,你注定會有一連串變更與臭蟲的後果.識別邊界有時我們過度成熟化.我們重解與重購我們系統去容納獲得邊界知識.

如果你有一個單一的程式庫會更容易去做.對於我們摩登的IED將能夠自動重解與搬遷.稍後你將能在微服務中使用這些建立的邊界

這正是為何我們喜歡這扼殺者樣板.從小的為服務做起成長到一個大的獨佔系統.聽來這是演進企業應用軟體最明智與安全的做法.

在你從周邊到核心新架構中第一個微服務候選人通常會是新功能或變更功能.同時你的微服務將會如同扼殺圖樹成長,但我們相信

多數公司的真實面是一到兩個甚至半打的微服務共存於獨佔系統.

在軟體中選擇一個好微服務候選需求是一個挑戰需要一些領域驅動設計知識,將在下一個章節涵蓋

results matching ""

    No results matching ""