微服务重构心得
現(xiàn)在都在做微服務(wù),看起來就是做服務(wù)拆分比較簡單,但是實(shí)際上真正重構(gòu)起來又遇到許許多多的問題。
微服務(wù)重構(gòu)常見問題
1.領(lǐng)域驅(qū)動(dòng)模型的困擾
比如聽到很多理論比如領(lǐng)域驅(qū)動(dòng),那么到底需要不需要學(xué)習(xí)或者使用領(lǐng)域驅(qū)動(dòng)呢?
2.系統(tǒng)的復(fù)雜性
重構(gòu)的時(shí)候發(fā)現(xiàn)系統(tǒng)之間調(diào)用非常復(fù)雜,很難完整的剝離。
3.重構(gòu)的順序
數(shù)據(jù)庫要不要重構(gòu),先重構(gòu)后臺還是前臺還是一起重構(gòu)。
我做了幾個(gè)微服務(wù)重構(gòu),有過不少經(jīng)驗(yàn)的總結(jié)。
1.領(lǐng)域劃分
通用劃分模式,比如商品,購物車,訂單,活動(dòng),獎(jiǎng)券,用戶等等。
做一定的內(nèi)聚,這并不難,不用特別的糾結(jié)自己劃分的對不對,難的還是領(lǐng)域直接的耦合怎么盡可能的解耦干凈。
先需要數(shù)據(jù)庫邊界的劃分。
2.領(lǐng)域解耦
錯(cuò)綜復(fù)雜的調(diào)用關(guān)系
分層,從頂?shù)降祝辉试S底層調(diào)上層。
底層需要的數(shù)據(jù)盡量上層提供,這一點(diǎn)有點(diǎn)像IOC思想,非常巧妙的解決很多問題。
底層繼續(xù)調(diào)接口:性能問題,循環(huán)調(diào)用,需要?jiǎng)e的部門增加工作量等。
3.代碼翻譯與義譯
基本是直接翻譯,但是需要做一定的去重,原先代碼因?yàn)槭菃误w工程,所以會(huì)不斷的查庫,分層之后?
總結(jié)
- 上一篇: 红芙蓉王多少钱一包
- 下一篇: Intellij IDEA单元测试提示T