微服務(wù)+領(lǐng)域驅(qū)動(dòng)實(shí)戰(zhàn)訓(xùn)練營(yíng)(線上,11月15-16日)
【舉辦單位】北京曼頓培訓(xùn)網(wǎng) www.mdpxb.com
【咨詢電話】4006820825 010-56133998 13810210257
【培訓(xùn)日期】2022年11月15-16日
【培訓(xùn)地點(diǎn)】北京、線上
【培訓(xùn)對(duì)象】中高級(jí)工程師、企業(yè)架構(gòu)師、軟件設(shè)計(jì)師、技術(shù)決策/解決方案人員等。
【課程背景】
近些年,隨著互聯(lián)網(wǎng)的不斷發(fā)展,市場(chǎng)變化越來(lái)越快,需求變更越來(lái)越頻繁。為了能夠跟上市場(chǎng)變化的腳步,在市場(chǎng)競(jìng)爭(zhēng)中占得先機(jī),越來(lái)越多的研發(fā)團(tuán)隊(duì)選擇敏捷開發(fā)、快速迭代。然而,越來(lái)越龐大的軟件系統(tǒng),越來(lái)越復(fù)雜的業(yè)務(wù)邏輯,使得系統(tǒng)維護(hù)變得越來(lái)越困難,變更成本越來(lái)越大,團(tuán)隊(duì)工作效率越來(lái)越低。許多用戶需求需要拖延數(shù)月才能交付,使得軟件企業(yè)痛失有利商機(jī),在市場(chǎng)競(jìng)爭(zhēng)中處于不利地位。微服務(wù)架構(gòu)正是解決復(fù)雜系統(tǒng)的應(yīng)對(duì)之策。
微服務(wù)架構(gòu)將復(fù)雜系統(tǒng)化整為零,拆分成一個(gè)一個(gè)的微服務(wù)。然后,將龐大的開發(fā)團(tuán)隊(duì)拆分成一個(gè)一個(gè)的獨(dú)立功能團(tuán)隊(duì),去維護(hù)各自的微服務(wù)。采用微服務(wù)架構(gòu)降低了團(tuán)隊(duì)溝通的成本,降低了系統(tǒng)維護(hù)的復(fù)雜度,更降低了系統(tǒng)發(fā)布的周期,使得我們可以快速交付、快速應(yīng)對(duì)市場(chǎng)需求。
但是,微服務(wù)應(yīng)當(dāng)如何架構(gòu)?它有哪些技術(shù)特點(diǎn)與技術(shù)難點(diǎn)?本課程將會(huì)用許多的真實(shí)案例講解,什么是微服務(wù),如何用微服務(wù)架構(gòu)我們的系統(tǒng),并用工作坊的形式,實(shí)際帶領(lǐng)學(xué)員去架構(gòu)微服務(wù),在動(dòng)手中獲得知識(shí)。
此外,微服務(wù)只是工具,只學(xué)會(huì)工具不行,還要學(xué)會(huì)如何去運(yùn)用。微服務(wù)背后的理論基礎(chǔ)是單一職責(zé)原則、領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)。因此,本課程會(huì)帶領(lǐng)學(xué)員站在更深的層次,去深入領(lǐng)悟單一職責(zé)原則的本質(zhì),深入學(xué)習(xí)領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的過(guò)程,以及如何運(yùn)用它們?cè)趶?fù)雜的系統(tǒng)中提高代碼質(zhì)量、應(yīng)對(duì)需求變更,并以此為基礎(chǔ)將需求轉(zhuǎn)換為微服務(wù)系統(tǒng)的設(shè)計(jì)。
課程的最后將更加務(wù)實(shí)地探討一些在微服務(wù)轉(zhuǎn)型過(guò)程中大家普遍關(guān)心的問題:傳統(tǒng)架構(gòu)如何轉(zhuǎn)型微服務(wù)?初創(chuàng)型企業(yè)如何建設(shè)微服務(wù)?成熟型企業(yè)開展微服務(wù)的思路,以及微服務(wù)如何與大數(shù)據(jù)相結(jié)合。特舉辦“微服務(wù)+領(lǐng)域驅(qū)動(dòng)實(shí)戰(zhàn)訓(xùn)練營(yíng)”培訓(xùn)班,具體事宜通知如下:
【培訓(xùn)特色】
本課程注重實(shí)戰(zhàn),并以工作坊的形式提供很多案例,讓學(xué)員通過(guò)練習(xí)掌握微服務(wù)架構(gòu)設(shè)計(jì)的過(guò)程,以及從傳統(tǒng)架構(gòu)向微服務(wù)改造的過(guò)程。同時(shí),通過(guò)大量真實(shí)的案例,講解許多公司在開展微服務(wù)轉(zhuǎn)型過(guò)程中面臨的難題、解決的思路,以及最終的設(shè)計(jì)。
【課程大綱】
第一天 上午第一單元 微服務(wù)架構(gòu)概述
什么是微服務(wù)架構(gòu)
微服務(wù)是未來(lái)互聯(lián)網(wǎng)發(fā)展的必然結(jié)果
1.互聯(lián)網(wǎng)的發(fā)展及其面臨的挑戰(zhàn)
案例:分析淘寶近十年的發(fā)展及其面臨的挑戰(zhàn)
互聯(lián)網(wǎng)在面臨橫向擴(kuò)展、服務(wù)隔離等問題的局限
2.微服務(wù)能夠更好地解決互聯(lián)網(wǎng)問題
講解什么是微服務(wù)架構(gòu)
剖析微服務(wù)架構(gòu)在解決諸多互聯(lián)網(wǎng)問題時(shí)的思路
微服務(wù)架構(gòu)是應(yīng)對(duì)快速市場(chǎng)變化的必然結(jié)果
1.技術(shù)進(jìn)步與快速市場(chǎng)變化面臨的挑戰(zhàn)
市場(chǎng)需要更快速的價(jià)值交付與技術(shù)迭代
軟件規(guī)模化發(fā)展導(dǎo)致軟件交付速度的降低
2.微服務(wù)如何解決規(guī);艚莸膯栴}
特性團(tuán)隊(duì)組織與微服務(wù)架構(gòu)
去中心化技術(shù)治理與去中心化數(shù)據(jù)管理
第二單元 微服務(wù)常用架構(gòu)
基于Spring Cloud Alibaba的微服務(wù)技術(shù)框架
1.Spring Cloud簡(jiǎn)介
2.Spring Boot簡(jiǎn)介
3.Spring Cloud Alibaba
最簡(jiǎn)版的微服務(wù)架構(gòu)
1.服務(wù)注冊(cè)與發(fā)現(xiàn)Nacos
2.服務(wù)網(wǎng)關(guān)Spring Cloud Gateway
3.微服務(wù)及其相互調(diào)用Sentinel
4.配置管理 Nacos
第一天 下午第三單元 服務(wù)注冊(cè)與發(fā)現(xiàn)
Nacos注冊(cè)中心的方案
1.Nacos的系統(tǒng)架構(gòu)
2.Nacos Server的設(shè)計(jì)
3.Nacos Client的設(shè)計(jì)
4.服務(wù)發(fā)現(xiàn)的設(shè)計(jì)
?使用ribbon的設(shè)計(jì)
?使用feign的設(shè)計(jì)
5.構(gòu)建高并發(fā)、高可用微服務(wù)架構(gòu)
?高可用Nacos集群的搭建
?斷路器設(shè)計(jì)模式的原理及其應(yīng)用
?故障轉(zhuǎn)移、線程池隔離、優(yōu)雅降級(jí)與熔斷
?Sentinel的限流措施設(shè)計(jì)實(shí)踐
?Sentinel的服務(wù)降級(jí)設(shè)計(jì)實(shí)踐
?Spring-retry的故障轉(zhuǎn)移設(shè)計(jì)實(shí)踐
演練:使用Nacos構(gòu)建微服務(wù)系統(tǒng)
1.搭建Nacos注冊(cè)中心與配置中心
2.用Springcloud開發(fā)生產(chǎn)者
3.用ribbon與feign兩種方式開發(fā)消費(fèi)者
4.用Sentinel實(shí)現(xiàn)微服務(wù)間的高可用
5.實(shí)現(xiàn)Sentinel配置的持久化存儲(chǔ)
第二天 上午第四單元 微服務(wù)層的設(shè)計(jì)
微服務(wù)架構(gòu)的6種設(shè)計(jì)模式
1.聚合模式
案例:電商網(wǎng)站購(gòu)物功能的設(shè)計(jì)
?微服務(wù)前后端分離的設(shè)計(jì)
?分布式事務(wù)的兩階段提交
?TCC方案與阿里GTS
?采用分布式事務(wù)解決跨庫(kù)的事務(wù)操作
案例:電商網(wǎng)站下單服務(wù)的設(shè)計(jì)
單一職責(zé)原則與領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)
?互聯(lián)網(wǎng)縱向切分在微服務(wù)的實(shí)現(xiàn)
?縱向切分應(yīng)當(dāng)注意的設(shè)計(jì)問題
?避免跨庫(kù)關(guān)聯(lián)查詢的設(shè)計(jì)
2.代理模式
案例:電商網(wǎng)站支付功能的設(shè)計(jì)思路
案例:電商網(wǎng)站多渠道支付的微服務(wù)實(shí)現(xiàn)
3.鏈?zhǔn)侥J?br />
4.分支模式
5.數(shù)據(jù)共享模式
案例:微服務(wù)+數(shù)據(jù)中臺(tái)的建設(shè)思路
案例:分布式數(shù)據(jù)庫(kù)的架構(gòu)設(shè)計(jì)
6.異步消息模式
案例:12306的異步化操作
案例:電商網(wǎng)站異步化操作的微服務(wù)實(shí)現(xiàn)
微服務(wù)的粒度
1.微服務(wù)的拆分原則
2.微服務(wù)的拆分方式
微服務(wù)設(shè)計(jì)的反模式
1.太多數(shù)據(jù)遷移
2.數(shù)據(jù)共享反模式
3.頻繁交互反模式
探討:如何解決微服務(wù)接口太多的問題
第二天 下午第五單元 領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)
為什么我們需要領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)
1.現(xiàn)如今DDD越來(lái)越流行
2.DDD并不能幫助新項(xiàng)目的軟件開發(fā)
3.DDD真正的作用是日后長(zhǎng)期的維護(hù)
實(shí)踐DDD的4大難題:
1.準(zhǔn)確理解為什么要采用DDD?
2.怎樣正確地進(jìn)行業(yè)務(wù)領(lǐng)域建模?
3.怎樣用領(lǐng)域模型指導(dǎo)開發(fā)與變更?
4.如何設(shè)計(jì)支持領(lǐng)域驅(qū)動(dòng)的架構(gòu)設(shè)計(jì)?
DDD真正的作用是應(yīng)對(duì)日后的軟件維護(hù)
1.我們現(xiàn)在面對(duì)的是快速變化的時(shí)代
2.變更越頻繁,代碼質(zhì)量下降越快
案例:演示電商網(wǎng)站付款功能代碼質(zhì)量下降的過(guò)程
案例分析:揭示軟件退化的根源
3.系統(tǒng)規(guī)模越來(lái)越大,系統(tǒng)越來(lái)越復(fù)雜
案例:演示嵌入式溫控系統(tǒng)越來(lái)越難于維護(hù)的根源
案例分析:領(lǐng)域分析才是解決之道
案例分析:演示電商網(wǎng)站付款功能代碼質(zhì)量下降的過(guò)程
1.起初的設(shè)計(jì)
2.隨后的變更
3.質(zhì)量不斷下降的過(guò)程
軟件質(zhì)量下降的根源:
1.軟件總是因變更而變得越來(lái)越復(fù)雜
2.軟件結(jié)構(gòu)已經(jīng)不再適應(yīng)復(fù)雜的軟件需求
3.必須要調(diào)整軟件結(jié)構(gòu)以適應(yīng)新的軟件需求
DDD是應(yīng)對(duì)軟件復(fù)雜性之道
1.剖析領(lǐng)域驅(qū)動(dòng)的設(shè)計(jì)思想
2.服務(wù)、實(shí)體與值對(duì)象的概念
3.充血模型與貧血模型的設(shè)計(jì)思路
4.問題域、子域與限界上下文劃分
基于領(lǐng)域模型的設(shè)計(jì)變更
1.演練基于DDD的設(shè)計(jì)與變更過(guò)程
2.演練領(lǐng)域模型如何指導(dǎo)數(shù)據(jù)庫(kù)設(shè)計(jì)
3.演練領(lǐng)域模型如何指導(dǎo)程序設(shè)計(jì)
4.聚合、倉(cāng)庫(kù)與工廠:傻傻分不清
5.限界上下文:系統(tǒng)拆分的利器
案例:重新演練電商網(wǎng)站付款功能的變更過(guò)程
第一個(gè)版本的領(lǐng)域模型與設(shè)計(jì)
第一次變更的分析設(shè)計(jì)過(guò)程
第二場(chǎng)變更的設(shè)計(jì)實(shí)現(xiàn)
第三次變更的設(shè)計(jì)實(shí)現(xiàn)
第四次變更與架構(gòu)演化
【講師介紹】
范老師,曼頓培訓(xùn)網(wǎng)(www.mdpxb.com )資深講師。航天信息前首席架構(gòu)師,暢銷書籍《大話重構(gòu)》作者,規(guī);艚軸PC,軟件架構(gòu)及重構(gòu)的客座講師,獨(dú)立咨詢顧問。先后參與了數(shù)十個(gè)國(guó)內(nèi)大型軟件項(xiàng)目,涉及國(guó)家財(cái)政、軍工、稅務(wù)、醫(yī)療等領(lǐng)域的大數(shù)據(jù)建設(shè)、風(fēng)險(xiǎn)防控與人工智能研究,互聯(lián)網(wǎng)及大數(shù)據(jù)轉(zhuǎn)型的實(shí)踐者與倡導(dǎo)者。
【費(fèi)用及報(bào)名】
1、費(fèi)用:培訓(xùn)費(fèi)線下培訓(xùn)費(fèi):5900元/人;線上培訓(xùn)費(fèi):4700元/人(含教材、證書、午餐、學(xué)習(xí)用具等)。住宿協(xié)助安排,費(fèi)用自理。
2、報(bào)名咨詢:4006820825 010-56133998 56028090 13810210257 鮑老師
3、報(bào)名流程:電話登記-->填寫報(bào)名表-->發(fā)出培訓(xùn)確認(rèn)函
4、備注:如課程已過(guò)期,請(qǐng)?jiān)L問我們的網(wǎng)站,查詢最新課程
5、詳細(xì)資料請(qǐng)?jiān)L問北京曼頓培訓(xùn)網(wǎng):www.mdpxb.com (每月在全國(guó)開設(shè)四百多門公開課,歡迎報(bào)名學(xué)習(xí))