隨便最幾年微服務(wù)和Serverless(Lambda)的盛行,把原來一套系統(tǒng)可以按業(yè)務(wù),人員或業(yè)務(wù)架構(gòu)拆分得更加詳細(xì),讓開發(fā)人員更專注于自己負(fù)責(zé)微服務(wù)或Serverless模塊,同時利用DevOps管理流程,這樣可以提升業(yè)務(wù)的快速迭代。雖然微服務(wù)或Serverless確實(shí)是可以提升業(yè)務(wù)的持續(xù)服務(wù)和可靠性,但是業(yè)務(wù)復(fù)雜度,管理難度和管理成本隨之提升,如何做好業(yè)務(wù)故障排查,特別是性能和穩(wěn)定是很多企業(yè)開發(fā)及運(yùn)維團(tuán)隊(duì)所關(guān)心的,AWS為此提供一項(xiàng)易用且可視化的服務(wù)X-Ray,借助 AWS X-Ray,開發(fā)人員能夠輕松分析其生產(chǎn)行為及具有端到端跟蹤功能的分布式應(yīng)用程序。您可以使用 X-Ray 確定性能瓶頸、邊緣情況錯誤以及其他難于檢測的問題。X-Ray 支持各種類型或大小的開發(fā)或生產(chǎn)應(yīng)用程序,從簡單的異步事件調(diào)用和三層 Web 應(yīng)用程序到使用微服務(wù)架構(gòu)構(gòu)建的復(fù)雜的分布式應(yīng)用程序。這讓開發(fā)人員能夠快速找到并解決其應(yīng)用程序中出現(xiàn)的問題,并改善最終用戶對其應(yīng)用程序的體驗(yàn)。
功能介紹:
X-Ray是可以很好的與AWS近幾年特別流行的技術(shù)(ECS/Lambda等)集成,尤其是未來有可能成為主流技術(shù)的Lambda,它可以提供數(shù)據(jù)跟蹤,數(shù)據(jù)軌跡采集與性能分析等可視化技術(shù)服務(wù)。以下我們來介紹現(xiàn)在及未來都比較常用的API化的應(yīng)用,API化采用基礎(chǔ)技術(shù)就是Lambda,而優(yōu)化Lambda和業(yè)務(wù)代碼的工具服務(wù)是X-Ray,我們通過一個例子來說明X-Ray如何幫助開發(fā)與運(yùn)維團(tuán)隊(duì)提升業(yè)務(wù)體驗(yàn)。
1)X-Ray對Python for Lambda的請求分析
AWS Lambda 上的 Python – 對 Lambda 函數(shù)配置啟用 X-Ray 以分析傳入請求。添加X-Ray SDK for Python以分析 AWS 開發(fā)工具包、HTTP 和 SQL 客戶端。
有多個 AWS 服務(wù)提供 X-Ray 集成。集成服務(wù)提供不同級別的集成,可以包括采樣和向傳入請求添加標(biāo)頭、運(yùn)行 X-Ray 守護(hù)程序以及自動將跟蹤數(shù)據(jù)發(fā)送到 X-Ray。
? 主動分析 – 采樣和分析傳入請求。
? 被動分析 – 分析已經(jīng)由其他服務(wù)采樣的請求。
? 請求跟蹤 – 對所有傳入請求添加一個跟蹤標(biāo)頭,并將其向下游傳播。
? 工具 – 運(yùn)行 X-Ray 守護(hù)程序以從 X-Ray 開發(fā)工具包接收分段。
業(yè)務(wù)例子配置:
1)API化的業(yè)務(wù)架構(gòu)圖:
? 使用 AWS X-Ray 檢測無服務(wù)架構(gòu)工作流程中的響應(yīng)瓶頸,將其運(yùn)行時間提高了70%%u3002
? 使用 X-Ray 的日志聚合器和可視化視圖發(fā)現(xiàn)執(zhí)行時間較長的 lambda ,使用 X-Ray 的明細(xì)功能,檢查該 lambda 的 CloudWatch 日志。
2)配置X-Ray
在 AWS Lambda 函數(shù)上配置 X-Ray 集成
打開 AWS Lambda 控制臺
選擇您的函數(shù)
選擇 Configuration,在調(diào)試和錯誤處理下,選擇啟用活動跟蹤
切換到 X-Ray 的可視化儀表盤
條件篩選
問題定位
從上圖可以看出: lambda 自身的業(yè)務(wù)功能較復(fù)雜調(diào)用頻率過高;lambda 讀取數(shù)據(jù)庫的延時過高。
重寫 lambda 并優(yōu)化數(shù)據(jù)庫后,使用 X-Ray 服務(wù)映射來跟蹤并驗(yàn)證更新是否得到期望的性能提升
從以上例子可以看出,X-Ray是一個很不錯的服務(wù),可以幫助開發(fā)及運(yùn)維團(tuán)隊(duì)節(jié)約大量的業(yè)務(wù)排障時間,快速提升業(yè)務(wù)體驗(yàn)。
【關(guān)于博思云為】
作為一家專業(yè)的云計算服務(wù)型企業(yè),博思云為專為客戶提供 AWS 上的運(yùn)營服務(wù):包括架構(gòu)咨詢服務(wù)、遷移服務(wù)、云安全集成服務(wù)、混合云管理服務(wù)、大數(shù)據(jù)服務(wù)以及 DevOps 服務(wù)。目前,博思云為在大數(shù)據(jù)、DevOps、架構(gòu)、數(shù)據(jù)庫以及操作系統(tǒng)等都已取得廠商認(rèn)證,在上海、南京、杭州、武漢等地設(shè)有分公司。為創(chuàng)新服務(wù)模式、引領(lǐng) IT 服務(wù)業(yè)的發(fā)展,博思云為將持續(xù)投入資源開展智能混合云管理平臺、圖數(shù)據(jù)庫的研發(fā)等。
更多關(guān)于云服務(wù)器,域名注冊,虛擬主機(jī)的問題,請訪問西部數(shù)碼官網(wǎng):m.ps-sw.cn