應用的服務化改造

應用分層設計

從垂直方向劃分應用,分為服務層、業務邏輯層和數據層。

每一層儘量做到解耦:上層依賴下層,而下層不要反向依賴上層。

應用分層最核心的目的是每個層都會封裝一些信息、完成一些特定的功能需求,層與層之間通過接口交互,而且交互的數據是清晰和固定的,做到隔離和交互。

判斷分層是否合理

1.分層的職責需要清晰。

2.每個層內部的修改不會導致接口的修改,也不會導致其他層的修改,每個層都做到了收斂。

分層設計中最可怕的就是在接口中設計一些超級數據結構,如傳遞一個對象,然後把這個對象一直傳遞下去,而且每個層都可能修改這個對象,問題:

1.一旦該對象更改,所有層都要隨之更改。

2.無法知道該對象的數據在哪個層被修改,在排查問題時會比較複雜。

建議:在設計接口時要儘量使用原生數據類型。

微服務化

從水平劃分的角度儘量把服務分得更細,每個業務只負責一個功能單元,這樣可以把這些微服務組合成更大的功能模塊。

有目的地拆小應用,形成單一職責從而提升系統可維護性、擴展性和開發效率。

應用的服務化改造


分享到:


相關文章: