天天看點

8 億人曬軍裝,背後的運維技術大揭密!前言前言織雲智能運維平台容量監控的方法寫在最後

團隊簡介: 騰訊SNG社交平台業務運維團隊,負責Qzone、微雲、QQ相冊、天天P圖、優圖等産品的技術營運工作。緻力于服務品質優化、服務保障、自動化運維體系建設等工作。經曆過農牧場、紅包、"軍裝"P圖等多次活動保障。團隊一直在進行自動運維,智能運維探索和實踐。
8 億人曬軍裝,背後的運維技術大揭密!前言前言織雲智能運維平台容量監控的方法寫在最後

近兩天人民日報+騰訊雲聯合營運“軍裝照”活動,想必已經刷爆了各位的朋友圈。在這場營銷盛宴的背後,伴随了又一次海量運維能力的showtime:4000台裝置,峰值24G帶寬,5次運維自動擴容。

8 億人曬軍裝,背後的運維技術大揭密!前言前言織雲智能運維平台容量監控的方法寫在最後

這類利用社交關系引爆的營運事件對騰訊SNG的運維團隊早已不是什麼新鮮事,從全民農牧場、全民刷紅包、cosplay甄嬛傳、軍裝照,SNG的運維團隊早已把應對業務突發的變化作為織雲智能運維平台能的核心能力。今天就讓我們一起來探秘下,織雲智能運維平台的關鍵技術和核心功能。

8 億人曬軍裝,背後的運維技術大揭密!前言前言織雲智能運維平台容量監控的方法寫在最後

織雲智能支撐平台管理着超過十萬台伺服器,上萬個功能24小時提供服務,而運維操作人員卻很少。一個人維護近萬台伺服器,軍裝活動來臨時可以快速無誤的完成4000台伺服器上線,是依托什麼實作的呢?最主要得益于長期以來織雲推行的标準化服務和運維的理念和要求。織雲平台提供的統一包架構,集中配置管理,統一路由,統一元件等标準化技術手段,幫助運維研發品質等多團隊完成高效協作,标準傳遞,快速應對等重要營運能力。标準化運維體系幫助我們在任何時候都能快速應對各種突發業務需求。

依托騰訊雲的海量資源,織雲可以提供秒級的IAAS供給能力,結合自動化變更擴容縮容技術,可以快速應對萬級服務資源供給上線需求。

織雲CMDB的設計,以子產品為管理節點(子產品:提供單一功能服務的叢集)。會記錄相關的配置資訊,具體包括:硬體配置、軟體配置、營運設定、軟體包、配置檔案、腳本、流程、測試用例等自動化依賴的關鍵系統。

8 億人曬軍裝,背後的運維技術大揭密!前言前言織雲智能運維平台容量監控的方法寫在最後

以天天P圖業務的CMDB應用配置示意圖如下。

8 億人曬軍裝,背後的運維技術大揭密!前言前言織雲智能運維平台容量監控的方法寫在最後

織雲提倡的自動化理念是:标準化 -> 配置化 -> 自動化,讓企業的常用操作固化成流程工具。不依賴容易過期的文檔,不依賴容易流失的人的經驗。

8 億人曬軍裝,背後的運維技術大揭密!前言前言織雲智能運維平台容量監控的方法寫在最後

參考持續傳遞的原則“為軟體的釋出建立一個可重複且可靠的過程”,運維團隊為了解決人肉操作經驗差異的難題,将運維操作通過流程DIY編排能力,實作标準操作的固化。“軍裝照”活動擴容,任何一個運維人員隻需要執行天天P圖的擴容功能即可實作容量擴充,而織雲流程會自動化的完成整個服務部署和上線的操作。(如下圖)

8 億人曬軍裝,背後的運維技術大揭密!前言前言織雲智能運維平台容量監控的方法寫在最後

名字服務

将調用對象IP、端口為次元抽象為名字服務,主調方調用時,無需關注實際被調伺服器,而隻需要确定名字服務ID。以此實作,被調方的IP變化對主調方完全透明。

負載均衡

由于有些被調伺服器本身存在差異,存在計算能力不一緻的可能,可對不同的被調對象配置不同的權重,織雲平衡木能夠自動根據伺服器處理能力、容量情況自動進行權重配置,達到負載均衡的目的。

請求排程

鍊路、機房環境發生故障時,可能導緻單伺服器故障機率較大,織雲L5具有的主動探測、調整機器,将故障機主動踢出被調,在故障機恢複後将其自動加回被調叢集。在大面積機房故障時,也可借助L5的排程功能将整體被調對象切換到其他機房。

運維平台如何實作快速檔案分發,在織雲平台的技術實作上,主要有兩個技術要點:

異步、基于消息隊列的執行引擎

直接操作現網機器執行指令的指令通道、以及執行擴縮容任務的流程系統,均采用面向消息與異步通信的架構,高并發,易于水準擴充。

8 億人曬軍裝,背後的運維技術大揭密!前言前言織雲智能運維平台容量監控的方法寫在最後

分布式多級檔案分發系統

檔案分發是服務部署強依賴的基礎功能。源檔案存儲在分布式檔案系統上,三份備援。既提高了可靠性,同時也提高了本地讀取速度。對于多區域環境,每個區域還有獨立的檔案緩存,就近傳輸。

社交營運活動是騰訊SNG的常态,是以織雲專門針對這種活動業務的特點:快上快下,定義了活動平台的功能給予支援。

自動縮容功能支援定時縮容與低負載縮容,由不同的政策觸發運維自動化流程操作。“軍裝照”的4000台裝置活動熱度過後,運維人員可設定自動的縮容政策,即可實作自動化的縮容,無需人工介入操作。(縮容操作如下圖)

8 億人曬軍裝,背後的運維技術大揭密!前言前言織雲智能運維平台容量監控的方法寫在最後

1、 高低負載日常管理

運維工作要盡量減少救火式的任務,鼓勵有計劃有準備的工作,将容量管理變成重要不緊急的工作。是以,我們傾向于把這部分工作例行化,将容量管理從計劃外任務轉變成計劃内任務。

以騰訊SNG對生産環境容量管理的度量方法為例,織雲平台提供統計資料(以子產品為管理機關):

低負載:CPU使用率 <30%,流量 <100Mb/秒,通路密度 <200次/秒/GB

高負載:CPU使用率 >75%,流量 >300Mb/秒,通路密度 >600次/秒/GB

2、 異常容量的處理

在騰訊SNG運維日常工作中,與容量相關的運維對象有:單機、子產品、SET。

8 億人曬軍裝,背後的運維技術大揭密!前言前言織雲智能運維平台容量監控的方法寫在最後

* 單機的容量管理

利用CPU親和或linux核心多隊列網卡的特性,解決多核CPU間負載不均,導緻容量浪費的問題。

* 子產品的容量管理

1)利用織雲L5路由服務的請求權重排程的能力(參考開源nginx、haproxy、LVS等),解決叢集内IP負載不均的問題。

2)利用織雲一緻性管理能力,解決應用程式或配置檔案部署不一緻的問題。

λ SET的容量管理

結合壓測找到SET的性能短柄,保持SET容量模型可靠,以備關鍵時刻排程所用。

3、 實時子產品容量監控

在子產品内IP容量一緻的情況下,織雲監控實時采集單機硬體性能名額,即可彙總計算出子產品的實時容量名額,供自動化決策所用。

織雲主機監控技術架構如下圖,支撐着10w台裝置量的主機性能資料采集,為騰訊社交業務提供準确高效的基礎監控能力。

8 億人曬軍裝,背後的運維技術大揭密!前言前言織雲智能運維平台容量監控的方法寫在最後

SNG社交平台業務運維團隊在騰訊雲和織雲平台的輔助下,為人民日報的“軍裝照”營運活動提供了強有力的運維支撐,雖然鎂光燈下不常有運維的身影,但我們依然為騰訊産品自豪、為我們的運維工作感到自豪!

歡迎關注「騰訊織雲」微信公衆号,擷取最新織雲的技術資訊。