單體巨石、微服務和SOA關係與區別

banq發表於2018-10-08
微服務是透過否定單體巨石monolithic而誕生的,單體巨石意思是鐵板一塊,高度耦合在一起,如同攪拌在一起的義大利麵,或者說拌麵,程式碼之間糾纏不清,修改維護難度很大,難以增加新功能,而微服務是根據業務領域中自然形成的聚合進行切分,也就是說,微服務不是對單體隨意一刀切進行分割,而是根據有界上下文,在上下午邊界出進行切割,不但形成模組化,而且透過微服務執行架構進行彼此最大化的松耦合。

單體是設計上統稱,具體架構可能是MVC應用或SOA應用,SOA主要是以粗粒度的大服務為主,這樣的服務才能重用,但是包羅永珍的大服務也很可能是高度耦合的單體,上帝式的物件,包括上帝全包的大服務,或領域模型物件,都是單體的特徵。

相關文章