版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
技術(shù)創(chuàng)新,變革未來
微服務(wù)技術(shù)架構(gòu)分析技術(shù)創(chuàng)新,變革未來
微服務(wù)技術(shù)架構(gòu)分析1服務(wù)調(diào)度:
服務(wù)注冊(cè)發(fā)現(xiàn),負(fù)載均衡服務(wù)治理:
超時(shí),限流,熔斷,降級(jí)服務(wù)監(jiān)控:
分布式調(diào)用鏈,指標(biāo),日志基礎(chǔ)設(shè)施:
配置中心,API網(wǎng)關(guān)現(xiàn)狀1:人人都有一套微服務(wù)限流GuavaRateLimiter限流Alibaba
Sentinel服務(wù)調(diào)度:服務(wù)注冊(cè)發(fā)現(xiàn),負(fù)載均衡現(xiàn)狀1:人人都有一套微服務(wù)2ServiceMesh
的真實(shí)好處跨語(yǔ)言接入,零成本接入升級(jí)力,新即正義業(yè)務(wù)同學(xué)到底需要什么?規(guī)模化乊后的,
全生命周期的開發(fā)效率,運(yùn)維效率,性能,可用性現(xiàn)狀2:
關(guān)于未來,只聽過Service
MeshServiceMesh的真實(shí)好處業(yè)務(wù)同學(xué)到底需要什么?現(xiàn)3ServiceMesh美麗不哀愁MicroService往何處去SpringCloud夠了嗎目錄020301ServiceMeshMicroServiceSpringC4目錄Spring
Cloud
夠了嗎我們要怎樣的基礎(chǔ)能力Dubbo,
Envoy
又如何目錄SpringCloud夠了嗎我們要怎樣的基礎(chǔ)能力5負(fù)載均衡一致性哈希Stick
Session本地緩存本地計(jì)數(shù)權(quán)重,
經(jīng)典而實(shí)用的技術(shù)灰度壓測(cè)摘除流量新實(shí)例熱身不同性能的機(jī)器混吅部署語(yǔ)義上不支持權(quán)重:
加權(quán)響應(yīng)時(shí)間,活躍調(diào)用數(shù)負(fù)載均衡一致性哈希權(quán)重,經(jīng)典而實(shí)用的技術(shù)6路由應(yīng)用分流跨機(jī)房調(diào)度快/慢
接口分離前/后臺(tái)
接口分離業(yè)務(wù)自定義規(guī)則上游應(yīng)用標(biāo)識(shí)上游IP段
/
Zone標(biāo)識(shí)方法名方法名Header
信息路由應(yīng)用分流跨機(jī)房調(diào)度快/慢接口分離前/后臺(tái)接口分離業(yè)務(wù)7超時(shí)(1)-
誰(shuí)做主基本但其重要性,在不怕死就怕慢的分布式系統(tǒng)里,占了三分乊一□
我的服務(wù),性能我清楚□
公共可見,工具友好□
可為個(gè)別上游定制‘‘’’‘‘’’經(jīng)驗(yàn)教訓(xùn):
客戶端猛報(bào)超時(shí),服務(wù)端歲月靜好,因?yàn)椴恢獣詫?duì)方設(shè)置□
為我定制?別當(dāng)康威定律不存在□
不同場(chǎng)景,不同超時(shí)服務(wù)端
@
治理中心客戶端
@
代碼超時(shí)(1)-誰(shuí)做主基本但其重要性,□我的服務(wù),性能我清楚82.
業(yè)務(wù)代碼:超時(shí)(2) -
各有增強(qiáng)1.
框架:“我知道你已經(jīng)超時(shí)了”執(zhí)行前超時(shí):不調(diào)用業(yè)務(wù)代碼執(zhí)行后超時(shí):不序列化不傳輸結(jié)果“框架,我還有多少時(shí)間?”辦大事前
-
如
RPC/DB
callContext.getTimeLeft()省得白干活,還得回滾補(bǔ)償3.
調(diào)用鏈:“讓我來一路傳逑上游的剩余時(shí)間”如果上游已超時(shí)除了補(bǔ)償操作
,其他什么都不要再做了2.業(yè)務(wù)代碼:超時(shí)(2) -各有增強(qiáng)“框架,我還有多少時(shí)9重試明明是好東西,為何設(shè)置的同學(xué),眼里總是
飽含掙扎?21重試限流不做壓垮系統(tǒng)的最后一根稻草3連接異常默認(rèn)重試非冪等的服務(wù)如何搶救一下服務(wù)總體超時(shí)下游重試爽,上游等得慌重試明明是好東西,為何設(shè)置的同學(xué),21重試限流3連接異常默認(rèn)10牲口一樣重吭123優(yōu)雅停機(jī)易,首次調(diào)用超時(shí)難預(yù)熱根據(jù)重吭前的記彔下游服務(wù)的元信息下游服務(wù)的TCP連接Java
Class新實(shí)例熱身第一分鐘的權(quán)重逐漸放大GC熱身連續(xù)GC到全部晉升牲口一樣重吭123優(yōu)雅停機(jī)易,首次調(diào)用超時(shí)難預(yù)熱下游服務(wù)的元11單機(jī)故障處理05
運(yùn)維監(jiān)控的自動(dòng)化處理硬盤故障,網(wǎng)卡掉速開放流量摘除接口01
注冊(cè)中心心跳微務(wù)框架的基礎(chǔ)02
健康檢查容器化的基礎(chǔ)03
單實(shí)例熔斷我還堅(jiān)強(qiáng)活著,但是….04
鏈路空閑心跳大家都活著,鏈路斷了莫等
TCP
KEEPALIVE單機(jī)故障處理05運(yùn)維監(jiān)控的自動(dòng)化處理01注冊(cè)中心心跳0212正常時(shí):高利用率的,
公共池緩慢時(shí):互相隔離的,
方法獨(dú)立池超越Tomcat
-
優(yōu)雅的方法隔離線程池總是將任務(wù)先提交給
公共池
(QueueLength=0)拒絕時(shí)將任務(wù)提交給
方法池(CoreSize=0)業(yè)務(wù)同學(xué)喜歡的自動(dòng)
ThreadDump正常時(shí):高利用率的,公共池超越Tomcat-優(yōu)雅的方法13不業(yè)務(wù)代碼隔離的
ClassLoader基礎(chǔ)組件依賴的3PP庫(kù),不業(yè)務(wù)代碼依賴的沖突基礎(chǔ)組件不敢自動(dòng)升級(jí)夜半無(wú)人的
FullGC減少白日
CMS
GC
的概率整理老生代碎片執(zhí)行乊前反注冊(cè)繼續(xù)超越Tomcat不業(yè)務(wù)代碼隔離的ClassLoader繼續(xù)超越Tomcat14服務(wù)配置中心(1)-
另一個(gè)配置中心配置報(bào)表誰(shuí)配了復(fù)雜路由誰(shuí)改過了熔斷的默認(rèn)值誰(shuí)配了兩次以上的重試功能和配置中心一樣:
獨(dú)立的UI,相同的后臺(tái)動(dòng)態(tài)下發(fā)灰度下發(fā)版本管理回滾工單系統(tǒng)集成變更時(shí)間窗口控制,高風(fēng)險(xiǎn)變更審批,
根因分析回溯服務(wù)配置中心(1)-另一個(gè)配置中心配置報(bào)表功能和配置中心一15其他應(yīng)用來的“獲叏購(gòu)物車”,
400
ms偷個(gè)懶,其他方法,
200
ms服務(wù)配置中心(2)-
條件表達(dá)式配置{"method":"getCart","callerId":
"","value":700},{"method":"getCart","value":400
},{"value":200
}示例:
超時(shí)配置‘‘從
checkout
應(yīng)用來的“獲叏購(gòu)物車“,700
ms’’字幕組其他應(yīng)用來的“獲叏購(gòu)物車”,400ms服務(wù)配置中心(2)16服務(wù)治理中心注冊(cè)中心 +
服務(wù)配置中心
+
文檔中心
+?監(jiān)控中心?
發(fā)布系統(tǒng)?混沌測(cè)試系統(tǒng)?No!從整個(gè)運(yùn)維體系布局,功能內(nèi)聚以開放API,不運(yùn)維體系互通服務(wù)治理中心注冊(cè)中心 +服務(wù)配置中心+文檔中心+?17目彔ServiceMesh 美麗不哀愁三年,自下而上的進(jìn)化ServiceMesh
架構(gòu)的折衷目彔ServiceMesh 美麗不哀愁三年,自下而上的進(jìn)化18我們的“類
ServiceMesh”架構(gòu)備用鏈路Proxy
addressFile宿主機(jī)物理機(jī)物理機(jī)Java、PHP、C++多語(yǔ)言 / Proxy
快速升級(jí) / 未改造
Web
Server / 容器、物理機(jī)混合部署OSPHTTPHTTPOSPHTTPOSPServerRegistryAgentWebServerLocal
ProxyLocal
ProxyLocal
ProxyRemote
ProxyClusterJava
AppPython
AppPhp
AppOSPClientPodPodOSPClientOSPClientOSPClient我們的“類ServiceMesh”架構(gòu)備用鏈路Proxy19ServerSide
Proxy?Server端
零改造成本,
但…Client
Proxy
已加一跳,Server
還來?服務(wù)端的治理能力,Proxy
形式足夠嗎?分布式調(diào)用鏈/故障注入,不限于
RPC跨語(yǔ)言WebServer:
輕量級(jí)注冊(cè)AgentServerSideProxy?Server端零改造成20巨大的時(shí)間消耗新的中央瓶頸漂亮架構(gòu)圖的產(chǎn)物數(shù)據(jù)面可替換性大餅的犧牲品社區(qū)劤力改進(jìn)中下沉,
緩存,異步發(fā)送中央Mixer?巨大的時(shí)間消耗新的中央瓶頸中央Mixer?21客戶端
跨語(yǔ)言,零改造成本,但….IPTalbe
性能總是不好,服務(wù)
越多越慢應(yīng)用不想和
Proxy
同生共死靜態(tài)路由,防火墻穿透路由,Proxy
隔離排查基于IPTable攔截?主流SDK:提供Local
/
Remote
Proxy切換非主流語(yǔ)言:訪問
Remote
Proxy
Cluster客戶端跨語(yǔ)言,零改造成本,但….基于IPTable攔截?主22良好的
隔離性,但…Java
Agent
吃內(nèi)存SideCar
升級(jí),
要把全網(wǎng)應(yīng)用重吭一遍SideCarVS
DaemonSetProxy對(duì)來源IP限流
:高出閾值的流量,重定向到
Remote
Proxy
Cluster良好的隔離性,但…SideCarVSDaemonSe23目彔MicroService
往何處去那些
微服務(wù)
不
SM
框架短期還沒顧上的目彔MicroService往何處去那些微服務(wù)不SM24SDK
First, APIFirst, Java
First基于契約編程(1)
-
服務(wù)定義用Java接口/實(shí)體類
定義
Thrift/PB
協(xié)議JSR-349BeanValidation
1.1其他增強(qiáng)Entity
類繼承全局動(dòng)態(tài)枚丼Annotation
定義參數(shù)抽叏到Header...SDKFirst, APIFirst, JavaFir25Annotation文檔,
接口/文檔一體化,版本管理,但…Java的字符串的局限:
不支持多行,轉(zhuǎn)義字符,可視化編輯文檔中心
在線編輯, 不Java文件
雙向轉(zhuǎn)換格式漂亮,還能帶長(zhǎng)長(zhǎng)的使用示例基于契約編程
(2)
-
接口文檔編寫Annotation文檔,接口/文檔一體化,版本管理,但…26基于契約編程
-
GraphQL的嘗試剪裁GraphQL:
由客戶端定制返回的內(nèi)容SDL
: {allBooks{id,title}
}保留契約化編程特征:基于生成的SDKREST不是一場(chǎng)革命GraphQL也不是GqlQuery
query
= GqlQuery.newBuilder(BookServiceClient.ALLBOOKS).add(BookField.id,
BookField.title).build();基于契約編程-GraphQL的嘗試剪裁GraphQL:27分布式調(diào)用鏈的匯總核心業(yè)務(wù)流程建模強(qiáng)弱依賴,流量漏斗模型流量模型變化的歷叱比對(duì)流量模型變化的實(shí)時(shí)通知鏈路超時(shí)設(shè)置治理故障影響分析輔劣容量規(guī)劃輔劣全鏈路治理分布式調(diào)用鏈的匯總?cè)溌分卫?81.
版本共知提供者查看所有消費(fèi)者SDK版本提供者一鍵提醒消費(fèi)者升級(jí)SDK2.變更共知消費(fèi)者獲知
服務(wù)文檔
變更消費(fèi)者獲知
服務(wù)配置
變更全鏈路生態(tài)圈3.
配置共管□
消費(fèi)者在服務(wù)配置中心定制客戶端配置1.版本共知2.變更共知全鏈路生態(tài)圈3.配置共管29智能化根因分析人工智能
并非必需品簡(jiǎn)單的統(tǒng)計(jì)學(xué)算法和文本分析鏈路拓?fù)洌瑫r(shí)間順序統(tǒng)計(jì)學(xué)上的指標(biāo)分析- EWMA, 線性回歸,Holt-Winters
等分布式調(diào)用鏈異常日志文本分析變更事件智能化根因分析人工智能并非必需品30基于歷叱指標(biāo)的自動(dòng)推薦超時(shí)熔斷最大線程數(shù)智能化參數(shù)治理基于實(shí)時(shí)指標(biāo)的動(dòng)態(tài)調(diào)整□
限流LatencyThreadsCPUusage/CPU
load□
擴(kuò)容- 在CPU和網(wǎng)絡(luò)乊外,考慮應(yīng)用指標(biāo)□
分布式日志采樣率- 非繁忙時(shí)提高采樣率默認(rèn)值不能在任何場(chǎng)景都是最好讓業(yè)務(wù)來配置又痛苦基于歷叱指標(biāo)的自動(dòng)推薦智能化參數(shù)治理基于實(shí)時(shí)指標(biāo)的動(dòng)態(tài)調(diào)整默31分布式事務(wù)需求:跨分片/跨服務(wù)的
DB
事務(wù)跨服務(wù)的
DB
/
NoSQL
/
MQ
…原始時(shí)代:執(zhí)行順序,補(bǔ)償對(duì)賬,
消息表Seata阿里巴巴
plus
螞蟻金服期待超越
DB
的事務(wù)TCC,
SagaApacheServiceCombSagaApacheShardingSpherefor
DB分布式事務(wù)需求:原始時(shí)代:執(zhí)行順序,補(bǔ)償Seata阿里巴巴32全異步化接口異步化
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國(guó)航空貨運(yùn)管理系統(tǒng)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年智能中央空調(diào)節(jié)電器項(xiàng)目投資價(jià)值分析報(bào)告
- 2025年柱式三層架項(xiàng)目可行性研究報(bào)告
- 2025至2030年中國(guó)電子式軟啟動(dòng)器數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)快速升溫箱式實(shí)驗(yàn)電爐數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)C型窗鉸鏈數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國(guó)柴油濾紙市場(chǎng)調(diào)查研究報(bào)告
- 摩托車燈具組裝工藝與質(zhì)量檢驗(yàn)考核試卷
- 2025-2030年戶外冒險(xiǎn)樂園行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 2025-2030年掌上科學(xué)實(shí)驗(yàn)設(shè)計(jì)工具行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 通用電子嘉賓禮薄
- 薪酬專員崗位月度KPI績(jī)效考核表
- 技能大賽題庫(kù)(空分)
- 浙江省杭州市2022年中考語(yǔ)文模擬試卷24
- 污水處理廠設(shè)備的操作規(guī)程(完整版)
- 通快激光發(fā)生器trucontrol操作手冊(cè)
- GB/T 28419-2012風(fēng)沙源區(qū)草原沙化遙感監(jiān)測(cè)技術(shù)導(dǎo)則
- GB/T 22077-2008架空導(dǎo)線蠕變?cè)囼?yàn)方法
- DDI領(lǐng)導(dǎo)力-高績(jī)效輔導(dǎo)課件
- 水泥罐安裝與拆除專項(xiàng)施工方案
- 鋼筋工專項(xiàng)安全教育
評(píng)論
0/150
提交評(píng)論