微服務(wù)架構(gòu)是將一個(gè)大型應(yīng)用程序拆分為一組小型、獨(dú)立部署的服務(wù),每個(gè)服務(wù)運(yùn)行在自己獨(dú)立的進(jìn)程中,并通過輕量級(jí)通信機(jī)制(如HTTP REST API)進(jìn)行通信。
與單體架構(gòu)的區(qū)別:
- 部署方式:單體應(yīng)用整體部署,微服務(wù)可獨(dú)立部署
- 技術(shù)棧:單體通常采用統(tǒng)一技術(shù)棧,微服務(wù)支持多語言技術(shù)棧
- 數(shù)據(jù)管理:單體使用共享數(shù)據(jù)庫,微服務(wù)每個(gè)服務(wù)有自己的數(shù)據(jù)庫
- 可擴(kuò)展性:單體只能整體擴(kuò)展,微服務(wù)可按需擴(kuò)展特定服務(wù)
- 容錯(cuò)性:單體一個(gè)模塊故障影響整個(gè)系統(tǒng),微服務(wù)故障隔離更好
Eureka:服務(wù)注冊與發(fā)現(xiàn)組件
- 服務(wù)提供者啟動(dòng)時(shí)向Eureka注冊自己的信息
- 服務(wù)消費(fèi)者從Eureka獲取服務(wù)提供者地址列表
- 支持服務(wù)健康檢查和服務(wù)剔除機(jī)制
Ribbon:客戶端負(fù)載均衡器
- 基于服務(wù)列表實(shí)現(xiàn)客戶端負(fù)載均衡
- 支持輪詢、隨機(jī)、權(quán)重等多種負(fù)載策略
- 可與Eureka無縫集成
Feign:聲明式服務(wù)調(diào)用組件
- 基于接口注解的REST服務(wù)調(diào)用
- 集成Ribbon實(shí)現(xiàn)負(fù)載均衡
- 簡化服務(wù)間調(diào)用代碼編寫
Hystrix:服務(wù)熔斷與降級(jí)
- 防止服務(wù)雪崩效應(yīng)
- 實(shí)現(xiàn)服務(wù)熔斷、降級(jí)、限流
- 提供監(jiān)控儀表盤
Zuul/Gateway:API網(wǎng)關(guān)
- 統(tǒng)一入口,路由轉(zhuǎn)發(fā)
- 身份認(rèn)證與安全控制
- 請(qǐng)求監(jiān)控與限流
Config:分布式配置中心
- 集中管理所有環(huán)境的配置
- 支持配置動(dòng)態(tài)刷新
- 與Git等版本控制系統(tǒng)集成
服務(wù)熔斷:
- 當(dāng)服務(wù)調(diào)用失敗率達(dá)到閾值時(shí),斷路器打開
- 在斷路器打開期間,直接返回失敗,不再調(diào)用實(shí)際服務(wù)
- 經(jīng)過一段時(shí)間后進(jìn)入半開狀態(tài),嘗試恢復(fù)調(diào)用
服務(wù)降級(jí):
- 在系統(tǒng)高負(fù)載時(shí),暫時(shí)關(guān)閉非核心服務(wù)
- 提供默認(rèn)返回值或緩存數(shù)據(jù)
- 保證核心服務(wù)的可用性
2PC(兩階段提交):
- 準(zhǔn)備階段:協(xié)調(diào)者詢問所有參與者是否可以提交
- 提交階段:如果所有參與者都同意,則提交事務(wù)
- 缺點(diǎn):同步阻塞、單點(diǎn)故障、數(shù)據(jù)不一致風(fēng)險(xiǎn)
TCC(Try-Confirm-Cancel):
- Try階段:資源檢查和預(yù)留
- Confirm階段:確認(rèn)執(zhí)行,要求冪等
- Cancel階段:回滾操作,要求冪等
Saga模式:
- 長事務(wù)拆分為多個(gè)本地事務(wù)
- 每個(gè)本地事務(wù)都有對(duì)應(yīng)的補(bǔ)償事務(wù)
- 執(zhí)行失敗時(shí)按逆序執(zhí)行補(bǔ)償事務(wù)
消息隊(duì)列最終一致性:
- 通過消息隊(duì)列實(shí)現(xiàn)異步處理
- 保證消息可靠投遞
- 結(jié)合本地消息表或事務(wù)消息
路由轉(zhuǎn)發(fā):
- 根據(jù)請(qǐng)求路徑將請(qǐng)求轉(zhuǎn)發(fā)到對(duì)應(yīng)微服務(wù)
- 支持動(dòng)態(tài)路由配置
- 負(fù)載均衡策略
認(rèn)證鑒權(quán):
- JWT令牌驗(yàn)證
- OAuth2.0授權(quán)
- API訪問權(quán)限控制
流量控制:
- 限流:令牌桶、漏桶算法
- 熔斷:服務(wù)異常時(shí)的快速失敗
- 降級(jí):非核心服務(wù)暫時(shí)關(guān)閉
監(jiān)控日志:
- 請(qǐng)求鏈路追蹤
- 訪問日志記錄
- 性能指標(biāo)監(jiān)控
安全防護(hù):
- SQL注入防護(hù)
- XSS攻擊防護(hù)
- DDoS攻擊防護(hù)
Istio架構(gòu):
- 數(shù)據(jù)平面:Envoy代理,處理服務(wù)間通信
- 控制平面:Pilot、Mixer、Citadel
- 提供服務(wù)發(fā)現(xiàn)、負(fù)載均衡、故障恢復(fù)等功能
核心功能:
- 流量管理:路由規(guī)則、故障注入
- 安全通信:mTLS加密、身份認(rèn)證
- 可觀測性:指標(biāo)收集、分布式追蹤
容器化部署:
- Docker容器封裝應(yīng)用
- Kubernetes容器編排
- 服務(wù)自動(dòng)伸縮
DevOps集成:
- CI/CD流水線
- 自動(dòng)化測試部署
- 基礎(chǔ)設(shè)施即代碼
服務(wù)治理:
- 服務(wù)注冊發(fā)現(xiàn)
- 配置中心管理
- 監(jiān)控告警體系
通過深入理解這些微服務(wù)核心概念和互聯(lián)網(wǎng)接入服務(wù),求職者能夠在面試中展現(xiàn)出扎實(shí)的技術(shù)功底和實(shí)戰(zhàn)經(jīng)驗(yàn),為成功獲得心儀職位奠定堅(jiān)實(shí)基礎(chǔ)。
如若轉(zhuǎn)載,請(qǐng)注明出處:http://www.mengtuokeji.com.cn/product/44.html
更新時(shí)間:2026-01-09 23:33:30
PRODUCT