大廠出行業(yè)務(wù)架構(gòu)演進(jìn)踩坑記!
點擊下方“ JavaEdge ”,選擇“ 設(shè)為星標(biāo) ”
第一時間關(guān)注技術(shù)干貨!1 業(yè)務(wù)架構(gòu)演進(jìn)
1.1 訂單系統(tǒng)
快速發(fā)展期,對技術(shù)團(tuán)隊與系統(tǒng)的要求:穩(wěn)定性,擴(kuò)展性,合理性。但系統(tǒng)不能突變,如何搞定“快”與“穩(wěn)定性,擴(kuò)展性,合理性”的過渡演進(jìn)?
早期多業(yè)務(wù)(2C、2B、直營城市、下沉城市等),每個業(yè)務(wù)更適合有自己獨立的訂單庫,方便快速試錯。而現(xiàn)在則需要統(tǒng)一訂單中心,提升穩(wěn)定性、保證擴(kuò)展性,并維持較低水平的維護(hù)成本。
1.2 經(jīng)緯度檢索
司機(jī)的經(jīng)緯度上報與檢索,是打車的業(yè)務(wù)核心之一。早期我們直接使用數(shù)據(jù)庫來存儲與檢索經(jīng)緯度,快速實現(xiàn)、快速迭代。如果現(xiàn)在還用數(shù)據(jù)庫,肯定性能扛不住,所以現(xiàn)在則抽離了單獨的服務(wù)來實現(xiàn)。
1.3 消息中心
早期 GPS 上報,快速實現(xiàn)了一套消息通道;訂單推送,快速實現(xiàn)了一套;用戶與司機(jī)聊天,快速實現(xiàn)了一套?,F(xiàn)在,我們則把共性的需求抽象除了消息中心,以滿足不同場景,在擴(kuò)充業(yè)務(wù)場景的適合,能夠復(fù)用系統(tǒng)。
量級不同的階段因為對系統(tǒng)的需求不同,所以對應(yīng)的系統(tǒng)架構(gòu)也不會相同。發(fā)展的這幾個階段中,在業(yè)務(wù)架構(gòu)設(shè)計方面還是走了一些彎路,來看咋解決的。
2 踩坑
因為業(yè)務(wù)的不同階段對架構(gòu)的要求不同,在架構(gòu)迭代或者重構(gòu)的過程會比較痛苦:
- 要完成架構(gòu)升級與轉(zhuǎn)型
- 又不能影響業(yè)務(wù)需求的開發(fā)與迭代
通過一個“訂單庫從分開,到訂單中心合并”的例子。
2.1 第一個業(yè)務(wù)
訂單系統(tǒng),如何快速實現(xiàn)?第一個業(yè)務(wù)(打車業(yè)務(wù)),閉環(huán)了自己的訂單庫:
2.2 第二個業(yè)務(wù)
為了快速迭代,也閉環(huán)了自己的訂單庫:
2.3 第三、第四個業(yè)務(wù)(貨運業(yè)務(wù)、合伙人業(yè)務(wù))
第三個業(yè)務(wù),第四個業(yè)務(wù),對點不對勁了,得統(tǒng)一。業(yè)務(wù)三有了統(tǒng)一意識,嘗試統(tǒng)一訂單庫,業(yè)務(wù)四有了微服務(wù)意識,嘗試建立訂單中心,但并不徹底。
2.4 當(dāng)有訂單統(tǒng)一展現(xiàn)需求
要訪問多個訂單庫了,開始抓狂,抱怨傻X領(lǐng)導(dǎo),為啥早期為何不統(tǒng)一?
下決定要統(tǒng)一!統(tǒng)一是合理的,但咋統(tǒng)一?
3 統(tǒng)一大計
3.1 數(shù)據(jù)收口
盡量減少對原業(yè)務(wù)的影響。
服務(wù)寫收口,服務(wù)讀收口,1年才完成訂單中心的統(tǒng)一
3.2 服務(wù)收口
盡量支持分業(yè)務(wù)平滑過渡
3.3 舊系統(tǒng)下線,完成統(tǒng)一
參考: 編程嚴(yán)選網(wǎng)(www.javaedge.cn)
寫在最后
編程嚴(yán)選網(wǎng)(www.javaedge.cn),程序員的終身學(xué)習(xí)網(wǎng)站已上線!
點擊閱讀原文,即可訪問網(wǎng)站!
歡迎長按圖片加好友,我會第一時間和你分享軟件行業(yè)趨勢,面試資源,學(xué)習(xí)途徑等等。
添加好友備注【技術(shù)群交流】拉你進(jìn)群,更多教程資源應(yīng)有盡有
關(guān)注公眾號后,在后臺私信:
- 回復(fù) 【架構(gòu)師】 ,獲取架構(gòu)師學(xué)習(xí)資源教程
- 回復(fù)【面試】 ,獲取最新最全的互聯(lián)網(wǎng)大廠面試資料
- 回復(fù)【簡歷】 ,獲取各種樣式精美、內(nèi)容豐富的簡歷模板
- 回復(fù) 【路線圖】 ,獲取直升Java P7技術(shù)管理的全網(wǎng)最全學(xué)習(xí)路線圖
- 回復(fù) 【大數(shù)據(jù)】 ,獲取Java轉(zhuǎn)型大數(shù)據(jù)研發(fā)的全網(wǎng)最全思維導(dǎo)圖
- 微信【ssshflz】私信 【副業(yè)】 ,進(jìn)副業(yè)交流群
- 點擊 【閱讀原文】 ,即可訪問程序員一站式學(xué)習(xí)網(wǎng)站
最近在準(zhǔn)備面試,為大家準(zhǔn)備一份2024最新最全Java學(xué)習(xí)路線一條龍
