可能你會面臨這樣一種情況,在架構設計之前,你對業務不甚瞭解,需求給到的也模稜兩可,這個時候你既無法明確到底是要使用單體架構還是使用微服務架構,如果使用單體,後續業務擴充套件可能帶來大量修改,如果使用微服務,前期可能在工期上把專案給耽誤了,你該怎麼辦?這就是這篇文章想要研討的面向微服務的單體架構的由來。
為什麼不用傳統單體架構?
我們可以看到隨著業務的升級,單塊的程式碼的拆分會變得越來越困難,如果在前期沒有做好規劃和伏筆,那麼後續的演化就是一場災難。所以,目前的設計如果是企業級別的,都必然要做架構的適當冗餘,因為沒有人能知道未來長什麼樣,架構必然和業務一樣是隨著綜合因素慢慢長出來的,不可能一蹴而就,一步到位。
- 髮量不高——業務流量並沒有達到千萬或億級別
如上所示,我們可以看到API在拆解過程中,基本沒有做任何程式碼變更(具體程式碼可以檢視我的GitHub或者你也可以參看我的視訊《ABP vNext框架實戰系列》),Domain的演化也只是做程式碼簡單遷移,整個重構過程並沒有做多大的變化。這就是所謂“持續提升程式設計師幸福指數"的模組化之道啊。
總結
ABP vNext的模組化思想給了微服務演化提供了底層能力,我在這兒只是拋磚引玉,希望有更多的人能參與進來進行分享。如果你想了解更多ABP vNext的地方,你也可以參看我的另外一篇文字《淺談Abp vNext的模組化設計》,謝謝您的捧場。
Abp vNext是一款優秀的框架,但是要從零開始能把每個角落都熟悉起來需要不少摸索時間,希望通過自己的經驗給你的快速學習賦能,拋開生成器,一起從零開始,手工打磨一款生產級別的框架,讓你對AbpvNext知其然,知其所以然。