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