阿里巴巴安全生產(chǎn)體系建設(shè)最佳實(shí)踐 -云上應(yīng)用高可用體系構(gòu)建:從理論到實(shí)踐_第1頁
阿里巴巴安全生產(chǎn)體系建設(shè)最佳實(shí)踐 -云上應(yīng)用高可用體系構(gòu)建:從理論到實(shí)踐_第2頁
阿里巴巴安全生產(chǎn)體系建設(shè)最佳實(shí)踐 -云上應(yīng)用高可用體系構(gòu)建:從理論到實(shí)踐_第3頁
阿里巴巴安全生產(chǎn)體系建設(shè)最佳實(shí)踐 -云上應(yīng)用高可用體系構(gòu)建:從理論到實(shí)踐_第4頁
阿里巴巴安全生產(chǎn)體系建設(shè)最佳實(shí)踐 -云上應(yīng)用高可用體系構(gòu)建:從理論到實(shí)踐_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

謝吉寶(唐三)阿里云智能資深技術(shù)專家、云原生中間件&SRE負(fù)責(zé)人、前阿里集團(tuán)容災(zāi)架構(gòu)負(fù)責(zé)人阿里巴巴核心電商的架構(gòu)演進(jìn)20032004-20082008–至今2013–至今2015–至今4.單元化階段5.云化階段2.單體應(yīng)用階段3.分布式應(yīng)用階段4.單元化階段5.云化階段2.單體應(yīng)用階段每一次架構(gòu)演進(jìn)都是為了解決當(dāng)下或者未來要發(fā)生的問題安全生產(chǎn)體系的建設(shè)解決確定性的架構(gòu)設(shè)計(jì)問題解決確定性的架構(gòu)設(shè)計(jì)問題面向失敗的架構(gòu)設(shè)計(jì)面向風(fēng)險(xiǎn)的應(yīng)急處置解決不確定性風(fēng)險(xiǎn)事件面向失敗的架構(gòu)設(shè)計(jì)面向風(fēng)險(xiǎn)的應(yīng)急處置解決不確定性風(fēng)險(xiǎn)事件面向精細(xì)化的運(yùn)維管控解決不確定性的運(yùn)維管控問題架構(gòu)設(shè)計(jì)原則變更執(zhí)行原則架構(gòu)設(shè)計(jì)原則變更執(zhí)行原則應(yīng)急處理原則1分鐘發(fā)現(xiàn)容災(zāi)演練可灰度可觀測可回滾容錯容量容災(zāi)紅藍(lán)攻防混沌工程容量–全鏈路壓測&限流壓測指標(biāo)大盤性能瓶頸分析壓測鏈路拓?fù)淙萘恳?guī)劃驗(yàn)證壓測指標(biāo)大盤性能瓶頸分析壓測鏈路拓?fù)鋲簻yGrafana壓測Grafana大盤容量評估驗(yàn)證ARMS-Insight診斷ARMS-TraceExploreARMS-Insight診斷ARMS-TraceExplore請求采樣日志壓測報(bào)告壓測引擎打標(biāo)壓測引擎日志采集Streaming統(tǒng)一處理壓測引擎打標(biāo)壓測引擎日志采集Streaming統(tǒng)一處理ARMS-調(diào)用鏈壓測執(zhí)行壓測執(zhí)行腳本調(diào)試壓測配置ARMS腳本調(diào)試壓測配置ARMS鏈路拓?fù)湫阅芑€管理↓Prometheus容器ARMS應(yīng)用列表ARMS接口調(diào)用ARMS數(shù)據(jù)庫調(diào)用性能基線管理↓Prometheus容器ARMS應(yīng)用列表ARMS接口調(diào)用ARMS數(shù)據(jù)庫調(diào)用PrometheusIaaS壓測準(zhǔn)備容錯–混沌工程容災(zāi)-異地多活架構(gòu)中心單元中心應(yīng)用全量買家數(shù)據(jù)全面賣家數(shù)據(jù)業(yè)務(wù)單元N單元應(yīng)用···本單元買家數(shù)據(jù)中心單元中心應(yīng)用全量買家數(shù)據(jù)全面賣家數(shù)據(jù)業(yè)務(wù)單元N單元應(yīng)用···本單元買家數(shù)據(jù)全量賣家數(shù)據(jù)(RO)業(yè)務(wù)單元1單元應(yīng)用本單元買家數(shù)據(jù)全量賣家數(shù)據(jù)(RO)容災(zāi)-異地多活架構(gòu)移動/PC移動/PC業(yè)務(wù)單元2中心單元統(tǒng)一入口網(wǎng)關(guān)業(yè)務(wù)單元N微服務(wù)、消息業(yè)務(wù)單元3數(shù)據(jù)層中心服務(wù)業(yè)務(wù)單元1統(tǒng)一入口網(wǎng)關(guān)微服務(wù)、消息數(shù)據(jù)層業(yè)務(wù)單元2中心單元統(tǒng)一入口網(wǎng)關(guān)業(yè)務(wù)單元N微服務(wù)、消息業(yè)務(wù)單元3數(shù)據(jù)層中心服務(wù)業(yè)務(wù)單元1統(tǒng)一入口網(wǎng)關(guān)微服務(wù)、消息數(shù)據(jù)層容災(zāi)-異地多活架構(gòu)單元化發(fā)展歷程??2013:杭州同城兩個(gè)POC驗(yàn)證?…中心單元統(tǒng)一入口網(wǎng)關(guān)1234容量問題容災(zāi)問題意外收獲中心單元統(tǒng)一入口網(wǎng)關(guān)1234容量問題容災(zāi)問題意外收獲成本問題通Serverless來降低成本微服務(wù)、消息數(shù)據(jù)層中心服務(wù)業(yè)務(wù)單元2業(yè)務(wù)單元N業(yè)務(wù)單元3容災(zāi)-異地多活架構(gòu)云原生網(wǎng)關(guān)(雙可用部署)50%50%50%微服務(wù)層微服務(wù)層微服務(wù)A微服務(wù)A微服務(wù)A微服務(wù)A微服務(wù)B微服務(wù)B微服務(wù)B微服務(wù)B寫讀數(shù)據(jù)庫層數(shù)據(jù)庫層備庫主庫讀寫讀數(shù)據(jù)庫層數(shù)據(jù)庫層備庫主庫核心優(yōu)勢SLA承諾高于99.95%,多可用區(qū)容災(zāi)、推空保護(hù)、避免安全漏洞,內(nèi)置WAF、黑白名單、JWT/OIDC/IDAAS/自定義等多種認(rèn)證鑒權(quán)三合一網(wǎng)關(guān),Serverless版最高比自建成本低75%容災(zāi)-異地多活架構(gòu)技術(shù)架構(gòu)生產(chǎn)應(yīng)用消息打標(biāo)云消息隊(duì)列RocketMQ版實(shí)例A讀消費(fèi)應(yīng)用阿里云企業(yè)網(wǎng)異步復(fù)制生產(chǎn)應(yīng)用寫寫sConector-讀讀消息打標(biāo)消費(fèi)應(yīng)用Conector寫讀寫核心優(yōu)勢n低代碼開發(fā):n配置靈活:n跨地域低延時(shí)同步:EventBridge產(chǎn)品,高壓力下全球同步延遲容災(zāi)-異地多活架構(gòu)50%50%微服務(wù)層微服務(wù)A微服務(wù)領(lǐng)域微服務(wù)層微服務(wù)A高可用領(lǐng)域微服務(wù)B微服務(wù)B數(shù)據(jù)庫領(lǐng)域數(shù)據(jù)庫層數(shù)據(jù)庫層主庫備庫注冊配置中心(三可用區(qū)部署)50%50%微服務(wù)層微服務(wù)A微服務(wù)領(lǐng)域微服務(wù)層微服務(wù)A高可用領(lǐng)域微服務(wù)B微服務(wù)B數(shù)據(jù)庫領(lǐng)域數(shù)據(jù)庫層數(shù)據(jù)庫層主庫備庫注冊配置中心(三可用區(qū)部署)核心優(yōu)勢三可用區(qū)部署、SLA承諾高于99.95%基于Dragonwell構(gòu)建,內(nèi)核參數(shù)深度調(diào)優(yōu),比開源性能高50%。成本比開源自建低75%兼容開源NACOS/ZK/EUREKA、平滑遷移容災(zāi)-異地多活架構(gòu)1不支持容災(zāi)2異地冷備34異地多讀5異地多活1不支持容災(zāi)2異地冷備34異地多讀5異地多活A(yù)BCRTO>30min&RPO>30minX完全不具備恢復(fù)能力?業(yè)務(wù)全鏈路監(jiān)控、全息監(jiān)控?單元管控平臺?故障快恢平臺??混沌工程常態(tài)化?容災(zāi)大考標(biāo)準(zhǔn)化變更三板斧–可觀測業(yè)務(wù)監(jiān)控+SLSARMS+SLS應(yīng)用調(diào)用鏈應(yīng)用性能應(yīng)用日志保人數(shù)及其它業(yè)務(wù)指標(biāo)…RedisCPU、內(nèi)存、網(wǎng)絡(luò)、磁盤、TCP、Load…自上自上而下設(shè)計(jì)變更三板斧–可灰度(可回滾)微服務(wù)治理控制面userId:99userId:[00,98]變更態(tài)服務(wù)治理應(yīng)用集群變更態(tài)服務(wù)治理灰度版本微服務(wù)Aagentgraygray運(yùn)行態(tài)穩(wěn)定性治理微服務(wù)Cagent正式版本微服務(wù)灰度版本微服務(wù)Aagentgraygray運(yùn)行態(tài)穩(wěn)定性治理微服務(wù)Cagent正式版本微服務(wù)Bagent微服務(wù)Bagent核心優(yōu)勢CPU<5%,內(nèi)存<200m,RT增加<1msn安全可靠:支持通過全鏈路TLS、服務(wù)鑒權(quán)構(gòu)建全鏈路零n簡單易用:支持Go/Java,免運(yùn)維、效率提升5倍以上李艷林(彥林)阿里十年雙十一老司機(jī)2024/12?風(fēng)險(xiǎn)分析&解決思路?全鏈路灰度?限流降級熔斷?動態(tài)配置精準(zhǔn)容災(zāi)?預(yù)案快恢?MSE面對失敗設(shè)計(jì)?混沌工程?銘師堂最佳實(shí)踐全鏈路TLS解決解決90%穩(wěn)定性風(fēng)險(xiǎn)據(jù)調(diào)研數(shù)據(jù)70%的線上問題都是由于變更導(dǎo)致的,除應(yīng)用本身問題外,運(yùn)行時(shí)風(fēng)險(xiǎn)概括為:不確定流量、不穩(wěn)定調(diào)用、不穩(wěn)定基礎(chǔ)設(shè)施。解決70%穩(wěn)定性風(fēng)險(xiǎn)全鏈路灰度(變更風(fēng)險(xiǎn)無法避免,控制爆炸半徑)SchedulerX任務(wù)灰度客戶端ARMS觀測灰度Gray流量AndroidAgentAgentAgentAAAgentAgentTopicATopicASchedulerX任務(wù)灰度客戶端ARMS觀測灰度Gray流量AndroidAgentAgentAgentAAAgentAgentTopicATopicAfilter靜態(tài)文件靜態(tài)文件靜態(tài)文件在做新版本灰度發(fā)布的時(shí),可以方便地通過修改規(guī)則來限定能訪問新版本的流量,比如限制只有內(nèi)部用在做新版本灰度發(fā)布的時(shí),可以方便地通過修改規(guī)則來限定能訪問新版本的流量,比如限制只有內(nèi)部用戶才能使用新版本,充分驗(yàn)證后再進(jìn)行全量發(fā)布,從而保證新版本發(fā)布時(shí)的穩(wěn)定性。全鏈路灰度觀測體系(讓風(fēng)險(xiǎn)無處藏身)限流&降級&熔斷(運(yùn)行風(fēng)險(xiǎn)發(fā)生快速恢復(fù))風(fēng)險(xiǎn)分類用戶案例流量入口后端應(yīng)用超容容量之內(nèi)超容服務(wù)A服務(wù)A服務(wù)C服務(wù)C服務(wù)B服務(wù)B服務(wù)D服務(wù)D流量的不確定性不穩(wěn)定調(diào)用業(yè)務(wù)突然爆發(fā),系統(tǒng)卻頻頻崩潰,錯失業(yè)務(wù)爆業(yè)務(wù)突然爆發(fā),系統(tǒng)卻頻頻崩潰,錯失業(yè)務(wù)爆籌備了重大活動,系統(tǒng)卻因?yàn)榱髁考ぴ霾豢葾PPAPP的購買頁/搜索頁依賴推薦算法,算法服務(wù)流量防護(hù)(防止突發(fā)流量打垮業(yè)務(wù))業(yè)務(wù)場景/痛點(diǎn)業(yè)務(wù)場景/痛點(diǎn)場景一(突發(fā)流量):活動場景,某個(gè)時(shí)刻激增的脈沖流量到達(dá)系統(tǒng)(搶購/秒殺/活動),系統(tǒng)被打掛不能正常提供服務(wù),導(dǎo)致活動熱度不能轉(zhuǎn)換成有效流量。解決方式配置接口維度流控規(guī)則,通過容量范圍內(nèi)的請求,拒絕多余的請解決方式配置接口維度流控規(guī)則,通過容量范圍內(nèi)的請求,拒絕多余的請求,相當(dāng)于安全氣囊的作用。層層防護(hù),在網(wǎng)關(guān)層進(jìn)行粗粒度防護(hù),在應(yīng)用層進(jìn)行API、接口、方法、參數(shù)維度細(xì)粒度流量控制。效果:系統(tǒng)正常提供服務(wù)、保障業(yè)務(wù)成功率熱點(diǎn)數(shù)據(jù)流控(防止熱點(diǎn)流量擊穿業(yè)務(wù))商品Q商品P商品Q商品P商品B商品A商品B商品A商品C業(yè)務(wù)場景/痛點(diǎn)商品C業(yè)務(wù)場景/痛點(diǎn)熱點(diǎn)流量場景:大促活動中涌現(xiàn)一批“黑馬”熱點(diǎn)商品,事先無法準(zhǔn)確預(yù)知熱點(diǎn)商品。這些突發(fā)的熱點(diǎn)流量會擊穿緩存,將DB打掛,影響了正常流量的業(yè)務(wù)處理。商品B商品A商品Q商品P商品CClient端熱點(diǎn)流控,針對自動識別的熱點(diǎn)key分別控制解決方式通過熱點(diǎn)參數(shù)防護(hù)能力,自動識別參數(shù)中的TopN訪問熱度的參數(shù)值,并對這些參數(shù)分別進(jìn)行統(tǒng)計(jì)與流控商品B商品A商品Q商品P商品CClient端熱點(diǎn)流控,針對自動識別的熱點(diǎn)key分別控制解決方式通過熱點(diǎn)參數(shù)防護(hù)能力,自動識別參數(shù)中的TopN訪問熱度的參數(shù)值,并對這些參數(shù)分別進(jìn)行統(tǒng)計(jì)與流控,避免單個(gè)熱點(diǎn)訪問過載;并且可以針對一些特殊熱點(diǎn)訪問(如極熱門的搶購單品)配置單獨(dú)的流控值。參數(shù)可以是任意業(yè)務(wù)屬性,可以來自調(diào)用端IP、RPC參數(shù)、HTTP請求參數(shù)、header等,也支持自定義。進(jìn)程內(nèi)部并發(fā)隔離(運(yùn)行時(shí)軟保險(xiǎn),避免級聯(lián)故障)慢調(diào)用慢調(diào)用慢調(diào)用慢調(diào)用慢調(diào)用正常調(diào)用正常調(diào)用正常調(diào)用正常調(diào)用正常調(diào)用正常調(diào)用正常調(diào)用正常調(diào)用正常調(diào)用正常調(diào)用正常調(diào)用正常調(diào)用并發(fā)線程隔離:慢調(diào)用慢調(diào)用慢調(diào)用慢調(diào)用慢調(diào)用正常調(diào)用正常調(diào)用正常調(diào)用正常調(diào)用正常調(diào)用正常調(diào)用正常調(diào)用正常調(diào)用正常調(diào)用正常調(diào)用正常調(diào)用正常調(diào)用并發(fā)線程隔離:最大并發(fā)=5業(yè)務(wù)場景/痛點(diǎn)場景一:某系統(tǒng)對外提供某查詢接口,內(nèi)部涉及數(shù)據(jù)庫調(diào)用,SQL語句涉及多表join,某些情況下會觸發(fā)慢查詢,耗時(shí)長達(dá)30s,雖然QPS不大,但是請求還是越積越多,最終導(dǎo)致DB連接池/Tomcat線程池滿,應(yīng)用整體不可用。場景二:應(yīng)用依賴的下游支付服務(wù)因網(wǎng)絡(luò)抖動出現(xiàn)大量慢調(diào)用,導(dǎo)致該應(yīng)用的線程池全部被該服務(wù)調(diào)用占滿,無法處理正常業(yè)務(wù)流程。解決方式解決方式結(jié)合并發(fā)隔離能力,給重要服務(wù)/接口調(diào)用配置并發(fā)線程數(shù)限制,相當(dāng)于一道“軟保險(xiǎn)”,防止不穩(wěn)定調(diào)用占滿線程池、過多擠占正常服務(wù)資源,避免級聯(lián)故障。并發(fā)隔離是保障運(yùn)行時(shí)常態(tài)化穩(wěn)定性的核心手段下游依賴降級(熔斷非核心接口,保護(hù)重點(diǎn)業(yè)務(wù))服務(wù)服務(wù)正常調(diào)用正常調(diào)用正常調(diào)用積分服務(wù)積分服務(wù)服務(wù)正常調(diào)用正常調(diào)用正常調(diào)用積分服務(wù)積分服務(wù)積分服務(wù)業(yè)務(wù)場景/痛點(diǎn)業(yè)務(wù)高峰期,某些非核心的下游服務(wù)接口遇到性能瓶頸或網(wǎng)絡(luò)問題,影響業(yè)務(wù)主流程運(yùn)轉(zhuǎn),且可能需要較長時(shí)間恢復(fù)。小問題變成大問題。慢調(diào)用比例上升觸發(fā)熔斷熔斷是保障運(yùn)行時(shí)常態(tài)化穩(wěn)定性、避免級聯(lián)故障熔斷是保障運(yùn)行時(shí)常態(tài)化穩(wěn)定性、避免級聯(lián)故障解決方式事前配置熔斷規(guī)則,當(dāng)滿足熔斷條件時(shí)自動觸發(fā)熔斷,直接返回fallback的結(jié)果,這樣既可以保障調(diào)用端不被不穩(wěn)定服務(wù)拖垮,又可以給不穩(wěn)定下游服務(wù)一些“喘息”的時(shí)間,保障整個(gè)業(yè)務(wù)鏈路的正同時(shí)仍需配合客戶端超時(shí)、重試等配置,并且需要關(guān)注熔斷后的fallback流量調(diào)度流量調(diào)度機(jī)房切流服務(wù)鑒權(quán)服務(wù)鑒權(quán)采樣率超時(shí)、重試超時(shí)、重試服務(wù)和路由規(guī)則服務(wù)和路由規(guī)則微服務(wù)生態(tài)微服務(wù)生態(tài)提前預(yù)案提前預(yù)案緊急預(yù)案緊急預(yù)案線程控制線程控制流量控制流量控制特性特性開關(guān)開關(guān)開關(guān)預(yù)案開關(guān)預(yù)案高可用平臺配置高可用平臺配置高可用生態(tài)高可用生態(tài)布局、氛圍調(diào)整布局、氛圍調(diào)整前后端獨(dú)立發(fā)布前后端獨(dú)立發(fā)布文案、公告文案、公告動態(tài)動態(tài)UI前端生態(tài)前端生態(tài)密碼定期修改密碼定期修改故障自動切庫故障自動切庫動態(tài)數(shù)據(jù)源動態(tài)數(shù)據(jù)源數(shù)據(jù)庫生態(tài)數(shù)據(jù)面+控制面+存儲架構(gòu)分離,多級緩存,數(shù)據(jù)備份,運(yùn)行弱依賴,常態(tài)故障演練AZ1AZ2 緩存緩存Istio云原生網(wǎng)關(guān)云原生網(wǎng)關(guān)運(yùn)行期-弱依賴Istio云原生網(wǎng)關(guān)云原生網(wǎng)關(guān)運(yùn)行期-弱依賴Istio緩存緩存緩存緩存緩存緩存緩存緩存運(yùn)行期-弱依賴MSE微服務(wù)-存儲存儲OSS定期備份運(yùn)行期-弱依賴MSE微服務(wù)-存儲存儲OSS定期備份 存 存入口流量防護(hù)?額度管理強(qiáng)弱依賴?數(shù)據(jù)面弱依賴控制面,數(shù)據(jù)緩存?控制面弱依賴存儲,全量緩存數(shù)據(jù)容災(zāi)?數(shù)據(jù)多副本?數(shù)據(jù)定期備份灰度?按照Region/GC/版本灰度?IOHang演練?依賴不可用演練混沌工程-常態(tài)化演練防止腐化基礎(chǔ)資源應(yīng)用服務(wù)支持CLI和HTTP調(diào)用{ {chaosbladechaosblade

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論