閱讀筆記-以領(lǐng)域驅(qū)動(dòng)為基礎(chǔ)進(jìn)行的架構(gòu)設(shè)計(jì)

讀書(shū)要善于總結(jié),形成自己理解的方法論,允許自己理解的不清晰,但是絕不能只看到別人的牛逼,自己卻沒(méi)有收獲。
要勇于承認(rèn)自己有多菜逼,并且持續(xù)學(xué)習(xí),機(jī)會(huì)來(lái)的時(shí)候,自己要能夠把握。
為每天領(lǐng)悟到新的知識(shí)而欣喜若狂,為原來(lái)自己有多sb而黯然神傷。

學(xué)習(xí)文章:
1、 領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)在重構(gòu)業(yè)務(wù)系統(tǒng)中的實(shí)踐
2、基于支付場(chǎng)景下的微服務(wù)改造與性能優(yōu)化

一、 《領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)在重構(gòu)業(yè)務(wù)系統(tǒng)中的實(shí)踐》學(xué)習(xí)體會(huì)

1、領(lǐng)域驅(qū)動(dòng)模型(DDD)英文是domain driven development,直翻是領(lǐng)域驅(qū)動(dòng)開(kāi)發(fā)。

2、需要領(lǐng)域驅(qū)動(dòng)設(shè)置的是:業(yè)務(wù)重構(gòu)環(huán)節(jié),初期搞項(xiàng)目的時(shí)候,其實(shí)完全不需要領(lǐng)域驅(qū)動(dòng)設(shè)計(jì),快速迭代開(kāi)發(fā)是主流,畢竟出活才是公司的首要需求。只有業(yè)務(wù)增長(zhǎng)到了一定程度,各業(yè)務(wù)服務(wù)直接耦合嚴(yán)重,新增需要響應(yīng)時(shí)間出現(xiàn)問(wèn)題,我們需要重構(gòu)一個(gè)核心系統(tǒng)解耦復(fù)雜業(yè)務(wù)問(wèn)題的時(shí)候,才需要領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)。

3、領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的核心概念:領(lǐng)域通用語(yǔ)言(UBIQUITOUS LANGUAGE)、領(lǐng)域模型(Domain)、限界上下文(Bounded Context)。

4、感覺(jué)作者問(wèn)題還是沒(méi)有交代的特別清楚啊,可能我也不怎么了解這種商超系統(tǒng)吧。
個(gè)人理解他的問(wèn)題:得到有很多可以購(gòu)買(mǎi)的商品,包括專(zhuān)欄、羅胖推薦的書(shū)、大師的課程、付費(fèi)的音頻等等,有n多種商品,商品的購(gòu)買(mǎi)要調(diào)用多個(gè)系統(tǒng),耦合的太嚴(yán)重了,中間雖然搞了個(gè)訂單系統(tǒng),其實(shí)沒(méi)有解決啥問(wèn)題,只是訂單號(hào)能把業(yè)務(wù)信息串起來(lái)了,但是這個(gè)訂單系統(tǒng)就是記錄個(gè)訂單信息,系統(tǒng)還是耦合在一起的。沒(méi)辦法,還是有問(wèn)題。
可最關(guān)鍵的問(wèn)題是什么呢?
是不是現(xiàn)有的系統(tǒng)完全解決不了財(cái)務(wù)那邊的問(wèn)題,財(cái)務(wù)結(jié)算的時(shí)候完全不知道業(yè)務(wù)方提供的數(shù)據(jù) 和支付提供的數(shù)據(jù)完全對(duì)不上?
后來(lái)產(chǎn)品說(shuō),怎么這的訂單號(hào)不是統(tǒng)一的,統(tǒng)一后就搞定了,可是搞了個(gè)訂單系統(tǒng)后,完全把業(yè)務(wù)搞的更復(fù)雜了?

怎么感覺(jué)都是先把事說(shuō)明白了,再套領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)比較好。。。。

反正最終琢磨出來(lái)的是一個(gè)訂單交付系統(tǒng),前面有個(gè)交易中心,負(fù)責(zé)支付處理,支付成功后交付系統(tǒng),交付系統(tǒng)負(fù)責(zé)調(diào)用具體的業(yè)務(wù)系統(tǒng)履約,這個(gè)系統(tǒng)的主要目的是搞權(quán)益確認(rèn)的。用他的話(huà)就是 “交易是行為,訂單是契約,交付是履約”,后面的財(cái)務(wù)系統(tǒng)不用跟業(yè)務(wù)系統(tǒng)對(duì)接了,直接跟這個(gè)訂單交付系統(tǒng)對(duì)接就可以了。

5、切忌以用戶(hù)為中心去分析業(yè)務(wù),分析的時(shí)候記得機(jī)場(chǎng)的例子。

以上

二、 《基于支付場(chǎng)景下的微服務(wù)改造與性能優(yōu)化》學(xué)習(xí)體會(huì)

1、微服務(wù)的基礎(chǔ)?微服務(wù)提現(xiàn)的真諦最終還是理解業(yè)務(wù),只有深入了解業(yè)務(wù)才能結(jié)合領(lǐng)域來(lái)重新定義微服務(wù)。微服務(wù)的特點(diǎn)是去中心化。

2、自己也親身參與過(guò)聚合支付系統(tǒng)的設(shè)計(jì)開(kāi)發(fā),說(shuō)實(shí)話(huà),自己真的還沒(méi)有按照文章中理解的深度去總結(jié)過(guò)怎么設(shè)計(jì)實(shí)現(xiàn)一個(gè)支付系統(tǒng),往往自己對(duì)外輸出的時(shí)候,都是基于以往的認(rèn)知去輸出,并沒(méi)有整體上去考慮過(guò)。先宏觀后細(xì)節(jié),先業(yè)務(wù)后架構(gòu)搭建。不過(guò)聚合支付和真的3方支付還是有點(diǎn)區(qū)別的,哈哈。

3、常見(jiàn)的互聯(lián)網(wǎng)支付方式:刷卡支付(刷卡、掃描手機(jī)生成的二維碼)、掃碼支付(手機(jī)掃一掃)、公眾號(hào)支付(微信、支付寶app內(nèi)支付)、h5支付(wap網(wǎng)頁(yè)喚醒支付功能)、app支付(app調(diào)用支付sdk)、網(wǎng)銀支付(喚醒網(wǎng)銀)、快捷支付(手機(jī)短信口令)

4、按照文中畫(huà)的 確實(shí)更準(zhǔn)確了,也能感覺(jué)出來(lái)領(lǐng)域和界限上下文的區(qū)別,主要是界限上下文,字面意思感覺(jué)是邊界接口呢,其實(shí)不是,就是領(lǐng)域內(nèi)的組成部分,可以是一個(gè)系統(tǒng)、一個(gè)應(yīng)用、一個(gè)服務(wù)或一個(gè)組件。從這里理解,領(lǐng)域模型的目標(biāo)也是抽象和分層。


image.png

5、微服務(wù)具體要拆分到什么程度,跟業(yè)務(wù)規(guī)模、復(fù)雜度、公司情況相關(guān)的,要結(jié)合實(shí)際,選擇合適的分層方式,不要一開(kāi)始搞的那么細(xì),沒(méi)法落地,注意產(chǎn)出。先搞模塊,合適的時(shí)機(jī)再拆分服務(wù)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容