對(duì)DDD和中臺(tái)關(guān)系的簡(jiǎn)單認(rèn)識(shí)

一.先弄清楚業(yè)務(wù)流程欢顷,捋清業(yè)務(wù)界限然后才能進(jìn)行技術(shù)設(shè)計(jì)

捋清楚業(yè)務(wù)界限和方向,再進(jìn)行微服務(wù)的劃分轨淌,數(shù)據(jù)模型(業(yè)務(wù)信息主體)的確定鸥印,然后在業(yè)務(wù)實(shí)現(xiàn)和不同業(yè)務(wù)交互的過(guò)程中再引入隊(duì)列、緩存蹬音、搜索上煤、數(shù)據(jù)庫(kù)等技術(shù),然后再基礎(chǔ)設(shè)施建設(shè)監(jiān)控著淆、安全

對(duì)于水平層面結(jié)構(gòu)的劃分楼入,應(yīng)該根據(jù)系統(tǒng)規(guī)模的需求

參考到家設(shè)計(jì)

重點(diǎn)看看極客時(shí)間 怎樣設(shè)計(jì)聚合

有效降低層與層之間的依賴

二.基本的水平結(jié)構(gòu):

web層(包括前端)、應(yīng)用層(跨領(lǐng)域服務(wù))牧抽、領(lǐng)域?qū)樱ㄊ蔷酆蟽?nèi)容,跨實(shí)體)遥赚、數(shù)據(jù)層

三扬舒、DDD中的實(shí)體對(duì)象和值對(duì)象

實(shí)體對(duì)象:有唯一標(biāo)識(shí)的對(duì)象,擁有id凫佛,其他屬性變了id不變?nèi)阅艽_定是這個(gè)對(duì)象

值對(duì)象:沒(méi)有唯一標(biāo)識(shí)讲坎,一旦屬性發(fā)生變化表示的就是另外一個(gè)對(duì)象,單個(gè)的值愧薛,字典

判斷是不是同一個(gè)對(duì)象的依據(jù)

實(shí)體對(duì)象:id晨炕; 值對(duì)象:值

DDD 引入值對(duì)象是希望實(shí)現(xiàn)從“數(shù)據(jù)建模為中心”向“領(lǐng)域建模為中心”轉(zhuǎn)變,減少數(shù)據(jù)庫(kù)表的數(shù)量和表與表之間復(fù)雜的依賴關(guān)系毫炉,盡可能地簡(jiǎn)化數(shù)據(jù)庫(kù)設(shè)計(jì)瓮栗,提升數(shù)據(jù)庫(kù)性能。在整個(gè)系統(tǒng)中二者根據(jù)具體的業(yè)務(wù)需求來(lái)確定,可以同時(shí)采用

將數(shù)據(jù)主體設(shè)置成值對(duì)象還是實(shí)體對(duì)象费奸,主要看這個(gè)對(duì)象是當(dāng)做主體來(lái)用還是當(dāng)做字典來(lái)用弥激,像同樣是地址,當(dāng)做為“收貨地址”來(lái)用 可以設(shè)置成值對(duì)象愿阐,當(dāng)做為“商圈”來(lái)用 可以做成實(shí)體對(duì)象 一個(gè)城市就有五個(gè)商圈 商圈是一個(gè)主體

跨實(shí)體的業(yè)務(wù)通過(guò)領(lǐng)域服務(wù)來(lái)實(shí)現(xiàn)(領(lǐng)域?qū)樱┪⒎瑢I(yè)務(wù)需要的實(shí)體聚合到一起也可以稱為聚合服務(wù)這個(gè)過(guò)程堅(jiān)持“高內(nèi)聚,低耦合”缨历,跨多個(gè)聚合的服務(wù)通過(guò)應(yīng)用層來(lái)實(shí)現(xiàn)

三以蕴、微服務(wù)解耦的關(guān)鍵:異步

領(lǐng)域事件需要數(shù)據(jù)交互 可以通過(guò)分布式事務(wù)和隊(duì)列兩種方式

微服務(wù)內(nèi)部可以采用分布式事務(wù)

微服務(wù)之間可以采用 異步 消息隊(duì)列

四、降低層與層之間的依賴

定義好聚合之間的界限辛孵,降低層與層之間的耦合

跨聚合應(yīng)該是應(yīng)用層

每一層只能與其下方的一層發(fā)生耦合

微服務(wù)存在重組和拆分:

微服務(wù)之間有拆分和重組丛肮,微服務(wù)內(nèi)部也有拆分和重組

拆分:

1.某個(gè)聚合經(jīng)常被高頻訪問(wèn),可以考慮拆分為獨(dú)立的服務(wù)(new-cpassport)

2.像服務(wù)1中的聚合b觉吭,隨著業(yè)務(wù)的發(fā)展可以放到服務(wù)2中去

重組:

1.比如領(lǐng)域服務(wù)a腾供、b、c鲜滩,隨著系統(tǒng)外部接入的越來(lái)越多伴鳖,發(fā)現(xiàn)b和c服務(wù)同時(shí)多次被一個(gè)應(yīng)用服務(wù)調(diào)用了,執(zhí)行順序也基本一致徙硅,可以考慮將b和c服務(wù)合并榜聂,再將應(yīng)用服務(wù)中b和c的功能下沉到領(lǐng)域?qū)樱葸M(jìn)成新的領(lǐng)域服務(wù)(b+c)嗓蘑。

四.中臺(tái)建設(shè)

中臺(tái)概念的形成是企業(yè)將原來(lái)分散的系統(tǒng)想要形成一個(gè)閉環(huán)生態(tài)须肆,生態(tài)需要共有的數(shù)據(jù)將各系統(tǒng)鏈接起來(lái),這樣產(chǎn)生了公共的數(shù)據(jù)和公共的業(yè)務(wù)桩皿,將這些公共的內(nèi)容向下沉淀抽取形成了中臺(tái)豌汇,中臺(tái)本身的定義就是“企業(yè)級(jí)能力的復(fù)用平臺(tái)”,在形成中臺(tái)的過(guò)程中有兩個(gè)方向泄隔,通用中臺(tái)(偏向工具)拒贱、核心中臺(tái)(偏向企業(yè)的核心數(shù)據(jù))。

1.中臺(tái)是不是僅僅是個(gè)Dao層佛嬉?

(1).數(shù)據(jù)中臺(tái)是領(lǐng)域服務(wù)的一種體現(xiàn)

(2).并不是簡(jiǎn)單的提供對(duì)單表數(shù)據(jù)的增刪改查逻澳,需要體現(xiàn)聚合的概念,像創(chuàng)建某個(gè)業(yè)務(wù)數(shù)據(jù)時(shí)暖呕,需要將這個(gè)業(yè)務(wù)的所有數(shù)據(jù)作為參數(shù)傳入中臺(tái)服務(wù)接口斜做,由中臺(tái)服務(wù)分發(fā)各個(gè)數(shù)據(jù)到對(duì)應(yīng)的表中;當(dāng)查詢時(shí)只需提供一個(gè)聚合根也就是業(yè)務(wù)id湾揽,由中臺(tái)服務(wù)組裝所有表的數(shù)據(jù)然后返給調(diào)用方

(3).如果業(yè)務(wù)方一個(gè)服務(wù)需要同時(shí)調(diào)用中臺(tái)多個(gè)服務(wù)瓤逼,這時(shí)可以提供一個(gè)適配層服務(wù)笼吟,對(duì)外只是一個(gè)接口,由適配層來(lái)調(diào)用多個(gè)中臺(tái)服務(wù)完成業(yè)務(wù)流程

? 以上能保證核心的數(shù)據(jù)和核心的業(yè)務(wù)在中臺(tái)抛姑,也實(shí)現(xiàn)中臺(tái)的模塊化赞厕,提高了與業(yè)務(wù)系統(tǒng)的解耦

2.中臺(tái)拆分的考慮

? 中臺(tái)也分核心中臺(tái)和通用中臺(tái),核心中臺(tái)是核心的競(jìng)爭(zhēng)力核心的數(shù)據(jù)定硝,通用中臺(tái)是通用的功能

? 在拆分的時(shí)候考慮 元素單元:是否是同一個(gè)業(yè)務(wù)內(nèi)的數(shù)據(jù)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 數(shù)據(jù)特征:像登錄皿桑,name 、password蔬啡、賬號(hào)(訪問(wèn)高诲侮、不輕易變動(dòng)的數(shù)據(jù))是一個(gè)表,箱蟆,登錄次數(shù)沟绪,時(shí)間,記錄(訪問(wèn)量不高空猜,變化多)的數(shù)據(jù)是一個(gè)表绽慈,,辈毯,這樣能防止鎖表鎖行坝疼,提高執(zhí)行效率

《企業(yè)IT架構(gòu)轉(zhuǎn)型之道:阿里巴巴中臺(tái)戰(zhàn)略轉(zhuǎn)型思想和實(shí)戰(zhàn)》

3.中臺(tái)的作用

(1)進(jìn)行數(shù)據(jù)和功能的復(fù)用,防止重復(fù)性開(kāi)發(fā)谆沃,簡(jiǎn)化上層代碼钝凶,同時(shí)也單獨(dú)維護(hù)了通用業(yè)務(wù)邏輯和核心的數(shù)據(jù)

(2)對(duì)于家政來(lái)說(shuō),現(xiàn)在的中臺(tái)功能(商家中心唁影,支付中心耕陷,訂單中心)非常完備,如果出現(xiàn)了一個(gè)新的家政類型(不是保潔据沈、保姆哟沫、月嫂),這時(shí)候只需要開(kāi)發(fā)上層業(yè)務(wù)場(chǎng)景代碼就能直接實(shí)現(xiàn)這個(gè)功能锌介,不需要底層開(kāi)發(fā)

五嗜诀、DDD設(shè)計(jì)案例

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市掏湾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌肿嘲,老刑警劉巖融击,帶你破解...
    沈念sama閱讀 222,681評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異雳窟,居然都是意外死亡尊浪,警方通過(guò)查閱死者的電腦和手機(jī)匣屡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)拇涤,“玉大人捣作,你說(shuō)我怎么就攤上這事《焓浚” “怎么了券躁?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,421評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)掉盅。 經(jīng)常有香客問(wèn)我也拜,道長(zhǎng),這世上最難降的妖魔是什么趾痘? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,114評(píng)論 1 300
  • 正文 為了忘掉前任慢哈,我火速辦了婚禮,結(jié)果婚禮上永票,老公的妹妹穿的比我還像新娘卵贱。我一直安慰自己,他們只是感情好侣集,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,116評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布键俱。 她就那樣靜靜地躺著,像睡著了一般肚吏。 火紅的嫁衣襯著肌膚如雪方妖。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,713評(píng)論 1 312
  • 那天罚攀,我揣著相機(jī)與錄音党觅,去河邊找鬼。 笑死斋泄,一個(gè)胖子當(dāng)著我的面吹牛杯瞻,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播炫掐,決...
    沈念sama閱讀 41,170評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼魁莉,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了募胃?” 一聲冷哼從身側(cè)響起旗唁,我...
    開(kāi)封第一講書(shū)人閱讀 40,116評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎痹束,沒(méi)想到半個(gè)月后检疫,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,651評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡祷嘶,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,714評(píng)論 3 342
  • 正文 我和宋清朗相戀三年屎媳,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了夺溢。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,865評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡烛谊,死狀恐怖风响,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情丹禀,我是刑警寧澤状勤,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站湃崩,受9級(jí)特大地震影響荧降,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜攒读,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,211評(píng)論 3 336
  • 文/蒙蒙 一朵诫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧薄扁,春花似錦剪返、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,699評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至日缨,卻和暖如春钱反,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背匣距。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,814評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工面哥, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人毅待。 一個(gè)月前我還...
    沈念sama閱讀 49,299評(píng)論 3 379
  • 正文 我出身青樓尚卫,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親尸红。 傳聞我的和親對(duì)象是個(gè)殘疾皇子吱涉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,870評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • 摘要:本文中,我們將進(jìn)一步理解微服務(wù)架構(gòu)的核心要點(diǎn)和實(shí)現(xiàn)原理外里,為讀者的實(shí)踐提供微服務(wù)的設(shè)計(jì)模式怎爵,以期讓微服務(wù)在讀者...
    Java架構(gòu)師Carl閱讀 5,792評(píng)論 0 20
  • 我曾經(jīng)在《鏡像神經(jīng)元》的文章中提到過(guò)環(huán)境對(duì)于人的影響鳖链,提到過(guò)孟母三遷的故事,提到了為什么要上一個(gè)好學(xué)校风科。讀了珍妮·...
    溫暖的牛奶咖啡閱讀 374評(píng)論 0 1
  • 女生 姓:自己姓的第一個(gè)字母 A:慕容B:任C:于D:厲F:鐘離G:唐H:東方J:敖K:白L:南宮M:竺N:司徒O...
    BT陳小川閱讀 1,061評(píng)論 2 1
  • 小鎮(zhèn)撒轮,提到這兩個(gè)字,最先想到的是大把的陽(yáng)光和悠然的美景贼穆。 它不止一種面貌题山,甚至在它平靜的外表下隨時(shí)有波濤洶涌。 有...
    生活故事錄閱讀 749評(píng)論 0 0
  • 背景: 集團(tuán)要求kibana必須要有密碼驗(yàn)證故痊,但是kibana本身并沒(méi)有驗(yàn)證功能顶瞳,實(shí)現(xiàn)需要用xpack,然而xpa...
    sniperD閱讀 129評(píng)論 0 0