在互聯(lián)網(wǎng)數(shù)據(jù)服務(wù)快速發(fā)展的背景下,微服務(wù)架構(gòu)已成為企業(yè)構(gòu)建高可用、高彈性系統(tǒng)的核心模式。微服務(wù)架構(gòu)體系以其“服務(wù)拆分、獨立部署、分散治理”的設(shè)計理念,與單體架構(gòu)形成鮮明對比,能夠有效提升數(shù)據(jù)產(chǎn)品的迭代效率和故障隔離能力。下面我們將從微服務(wù)架構(gòu)圖的基本組成、關(guān)鍵服務(wù)劃分、主流技術(shù)棧選擇以及典型的服務(wù)體系層級四個方面進行詳細闡述。
一、微服務(wù)架構(gòu)圖的拓撲結(jié)構(gòu)
微服務(wù)架構(gòu)圖通常分為客戶層、服務(wù)網(wǎng)關(guān)層、業(yè)務(wù)服務(wù)層、數(shù)據(jù)訪問層、基礎(chǔ)設(shè)施與治理服務(wù)層。在數(shù)據(jù)服務(wù)平臺中,企業(yè)首先會在前端層面集成Axios或Alibaba Cloud API網(wǎng)關(guān)接納用戶請求;網(wǎng)關(guān)負責(zé)統(tǒng)一入口、限流熔斷和身份認證。架構(gòu)圖中的核心不再是單臺關(guān)系型數(shù)據(jù)庫,轉(zhuǎn)而由具體的微服務(wù)集群相互串聯(lián)和治理。例如圍繞用戶、標(biāo)簽記錄、排序或數(shù)據(jù)分析類服務(wù)呈現(xiàn)多鏈路并行的通道網(wǎng)。架構(gòu)圖中還會凸顯服務(wù)注冊發(fā)現(xiàn)的組件的位置(如Consul或Naocs)、各API Pod通過HTTP/2、HTTP+GRPC進行同步通信為主邏輯節(jié)點和數(shù)據(jù)反饋依賴分散在不同物理物理Pod區(qū)域內(nèi)共存并對DB之間一般跨越。
根據(jù)反饋環(huán)路環(huán)節(jié)梳理的整體架構(gòu)圖形常保持復(fù)雜度與非計劃依賴性界限兩個基本方向為BPM治理準(zhǔn)備(如業(yè)務(wù)流程層的核心操作鏈路和數(shù)據(jù)流層反饋入 ES或者 S3存匯合圖的部分即可表達分明為治理擴容的前置準(zhǔn)備工作優(yōu)化形成使用最小的平臺組建微服務(wù)形式界面拓展如“SCA規(guī)范實現(xiàn)也可以抽象上B/GIP容器統(tǒng)一管理編排影響行為評價再出現(xiàn)點數(shù)據(jù)網(wǎng)絡(luò)反彈情況的敏捷改報時間提前計劃修復(fù)流量壓力檢查—以上整體拓撲體現(xiàn)精簡清晰高職責(zé)區(qū)域界線關(guān)系則有利于調(diào)撥、S檢查進內(nèi)容以及整體規(guī)劃故障界限診斷鏈。
架圖常見還要補充日志記錄中心和異常信息(如logELAT場景構(gòu)建的EFK管道,zipkin鏈路尋途。))