想要使用微服務?在此之前不如先把你的 Software 弄得 Soft 一點,今天剛好看到有人分享這場演講覺得很受用,在你真的把各服務分開 deploy 前,不如就先把你的目錄結構就先解構~
一般來說我們都被教育的很習慣使用 layer 的方式分目錄結構,就連 Clean Architecture 也是類似的階層架構。
以軟體開發來說 layer 式目錄分法其實沒什麼不好,但是考量到如果有協作性,甚至大規模遠距協作,這種架構可能就會很麻煩,可能每天都會再處理 merge conflict,處理 MR 就會變成很痛苦....
所以這時候通常就會聽到許多人為此要拆微服務,其實早在實體部署拆分之前,你的程式就可以先為此做準備,以 Business 的角度(參考 DDD)來拆分。
這時可能會有人想這樣拆分那還可以用 Clean architecture 嗎? 其實一點也不衝突啊,可以參考這篇 how vertical slice architecture fulfills clean architectures broken promises。最後目錄結構可能就會長如文章開頭那張圖一樣。
沒有留言:
張貼留言