企業(yè)數(shù)字化轉(zhuǎn)型微服務(wù)的優(yōu)秀實(shí)踐
導(dǎo)讀
微服務(wù)架構(gòu)是一個(gè)用分布式服務(wù)拆分業(yè)務(wù)邏輯,完成解耦的架構(gòu)模式。它旨在通過(guò)將功能分解到各個(gè)離散的服務(wù)中以實(shí)現(xiàn)對(duì)解決方案的解耦。把一個(gè)大型的單個(gè)應(yīng)用程序和服務(wù)拆分為數(shù)個(gè)甚至數(shù)十個(gè)的支持微服務(wù),它可以擴(kuò)展單個(gè)組件而不是整個(gè)的應(yīng)用程序堆棧,從而滿足服務(wù)的等級(jí)協(xié)議。圍繞業(yè)務(wù)領(lǐng)域組件來(lái)創(chuàng)建應(yīng)用,這些應(yīng)用可獨(dú)立的進(jìn)行開(kāi)發(fā),管理迭代,在分散的組件中使用云架構(gòu)和平臺(tái)部署,管理和服務(wù)功能,使產(chǎn)品交付變得更加簡(jiǎn)單。
1.企業(yè)轉(zhuǎn)型痛點(diǎn)
- 多條業(yè)務(wù)線都是基于企業(yè)核心系統(tǒng)設(shè)計(jì)開(kāi)發(fā),造成核心系統(tǒng)功能復(fù)雜,業(yè)務(wù)處理能力弱,對(duì)中前臺(tái)的業(yè)務(wù)快速響應(yīng)能力支撐不足。
- 用戶數(shù)據(jù)量大,對(duì)新用戶體驗(yàn)和數(shù)據(jù)處理能力,有較高要求。當(dāng)時(shí)的核心系統(tǒng)無(wú)法滿足這些要求。
- 交易訂單量大,要求核心系統(tǒng)有非常強(qiáng)的訂單交易處理能力、賬戶和資金的清算能力,當(dāng)時(shí)系統(tǒng)無(wú)法做到分布式。
- 對(duì)系統(tǒng)的穩(wěn)定性和數(shù)據(jù)的一致性也有強(qiáng)烈的要求。當(dāng)時(shí)的系統(tǒng)無(wú)法滿足可用性和一致性要求。
2.微服務(wù)架構(gòu)改造過(guò)程
提效增速,中臺(tái)化建設(shè)。重新梳理和定義系統(tǒng)架構(gòu)和業(yè)務(wù)架構(gòu),整合各項(xiàng)能力中心,作為微服務(wù)架構(gòu)改造和實(shí)施的基礎(chǔ)指導(dǎo)。
找到哪些系統(tǒng)是瓶頸
找到經(jīng)常出問(wèn)題的系統(tǒng),時(shí)間,人員,進(jìn)行寫(xiě)分析和復(fù)盤(pán)。對(duì)過(guò)去三年的COE進(jìn)行分析,找到瓶頸因素并分類應(yīng)對(duì)。
找到哪些因素是瓶頸
引入全鏈路監(jiān)控,波測(cè)等技術(shù)手段,以業(yè)務(wù)指標(biāo)+技術(shù)指標(biāo)為指導(dǎo)。增強(qiáng)CICD自動(dòng)化能力,引入灰度、藍(lán)綠、金絲雀等多種發(fā)布機(jī)制。
從機(jī)制上保證穩(wěn)定性
減少99%的穩(wěn)定性問(wèn)題。
3.微服務(wù)架構(gòu)實(shí)踐原則
遺留系統(tǒng)的微服務(wù)改造
功能剝離、數(shù)據(jù)解耦;自然演進(jìn)、逐步拆分;小步快跑、快速迭代;灰度發(fā)布、謹(jǐn)慎試錯(cuò);提質(zhì)量線、還技術(shù)債
恰當(dāng)拆分粒度
拆分原則:1. 高內(nèi)聚低耦合 2. 不同階段拆分要點(diǎn)不同
4.微服務(wù)架構(gòu)改造通用方法
5.微服務(wù)架構(gòu)發(fā)展趨勢(shì)
服務(wù)網(wǎng)絡(luò)與云原生
將服務(wù)間的網(wǎng)絡(luò)通信層及其控制策略下沉到基礎(chǔ)設(shè)施,就形成了所謂的“服務(wù)網(wǎng)格”技術(shù)。通過(guò)微服務(wù)、容器化、持續(xù)交付、Devops等技術(shù),組成了所謂的“元原生”體系。
數(shù)據(jù)庫(kù)網(wǎng)格與分布式數(shù)據(jù)庫(kù)
單元化架構(gòu)
以單元為組織架構(gòu),以單元化部署為調(diào)度單位。
每個(gè)單元,是一個(gè)五臟俱全的縮小版整站,它是全能的,因?yàn)椴渴鹆怂袘?yīng)用;但它不是全量的,因?yàn)橹荒懿僮饕徊糠謹(jǐn)?shù)據(jù)。
能夠單元化的系統(tǒng),很容易在多機(jī)房中部署,因?yàn)榭梢暂p易地把幾個(gè)單元部署在一個(gè)機(jī)房,而把另外幾個(gè)部署在其他機(jī)房。
通過(guò)在業(yè)務(wù)入口處設(shè)置一個(gè)流量調(diào)配器,可以調(diào)整業(yè)務(wù)流量在單元之間的比例。