架構評審方法和思路總結

版權聲明:本文由龔皓原創文章,轉載請註明出處: 
文章原文連接:https://www.qcloud.com/community/article/202web

來源:騰雲閣 https://www.qcloud.com/communitydocker

 

2015年延續2014年的架構和成本優化思路,運營管理部在15年組織各大BG開展了大量的架構評審和成本優化工做。做爲規劃組的一員,在整年21個規劃產品的評審中我主要參與了其中11個。在前期和業務產品,開發及運維的交流和準備材料過程當中,發現雖然已經通過了一年的評審,溝通和交流,但你們對爲何要作架構評審,怎樣作架構評審,其中的思路和流程都還存在必定的不瞭解的地方,因此這裏本身先拋磚引玉,跟你們聊聊討該如何作架構評審。編程

先來講說設備緩存

設備是支撐公司業務運營的最基本實體,隨着公司業務的不斷髮展壯大,公司的設備總數也於去年突破了50w臺大關。評審一個業務的架構,首先得從其設備使用的合理性上來看。架構

總的設備架構評審思路能夠簡單概括以下4步:框架

  1. 設備需求驅動形態 -- 確認設備需求動因和相關指標;
  2. 關鍵路徑的技術架構 -- 確認架構是否合理;
  3. 需求資源推算模型 -- 資源預算和指標關聯是否合理,架構分佈是否合理。
  4. 資源優化計劃 -- 後續是否能夠釋放部分資源,下降成本。

第一點比較好理解,設備的需求動因,咱們須要描述清楚涉及設備的關鍵業務指標以及業務指標的變化狀況,一般這些指標在作年度預算的時候可以定義清楚。若是當時沒有清晰的定義,咱們這裏能夠根據業務的實際資源需求狀況來定義清楚關鍵指標。後面3點是一個架構評審的關鍵所在,咱們這裏重點展開來說。運維

咱們談一個產品的架構,最開始固然先要從一張總架構圖開始講起。好比下面這個手Q的消息交互架構圖。

一個清晰的架構圖至少須要具有以下要素:異步

  1. 描述整體架構關鍵模塊構成和各模塊對應的設備數目;
  2. 業務請求交互圖,描述業務關鍵路徑上的模塊交互流程,需包含請求量/包量及對應的設備數;
  3. 描述設備需求中關鍵路徑的構成狀況和模塊之間的交互邏輯。

定義出關鍵路徑和關鍵業務模塊後,這些模塊需求和架構是否合理,咱們須要把這裏面的內容給評委展開來重點解釋。tcp

針對每個關鍵模塊,咱們首先須要:優化

  1. 描述在整體系統架構中該一級模塊的主要核心功能;
  2. 描述該核心模塊的處理業務邏輯分佈,如重要業務邏輯的資源佔比狀況。

好比下面手Q SSO模塊的描述

定義出核心關鍵模塊以後,咱們須要進一步解釋其資源使用的合理性。這裏咱們主要針對最多見的處理類和存儲類兩類模塊來講明,其餘好比吞吐量類,緩存類的模塊能夠依此類推。

針對處理類模塊,咱們一般須要說明:

  1. 給出核心模塊的資源模型,如單機每秒創建鏈接數,每秒包處理能力;
  2. 描述核心模塊的當前瓶頸所在;
  3. 描述核心模塊的設備類型;
  4. 描述核心模塊的最大支撐能力,如單機峯值Qps;
  5. 根據預估的業務指標結合模塊單機處理能力來評估所需的設備數。

而對於存儲類的模塊,咱們一般須要說明:

  1. 給出核心存儲單元的資源模型,如每一個存儲單元所佔用的字節數,每一個存儲單元包括哪些字段信息,主要字段的訪問頻次,每份數據存儲份數等,並根據單份的模型結合業務後續預估的指標來估算整體的存儲量;
  2. 描述核心存儲單元的當前瓶頸所在。

同時,針對架構分佈上,因爲公司IDC資源的地理分佈不平衡性,某些特定的地理區域因爲歷史和儲備的緣由,IDC資源會較爲緊缺,因此咱們在架構評審的過程當中也要對業務模塊的物理分佈狀況來評估其合理性,好比以下兩點:

  1. 描述整體現有架構模塊的物理分佈狀況和容量模型,包括架構是否有Set化,其Set分佈,數據的異地存儲份數說明,以及容災方式;
  2. 描述新增預算資源的分佈模型以及是否能夠異地化部署的評估。

在Review過架構和模塊的現狀後,業務本身一般也會發現一些本身架構上的問題,這些多是歷史緣由的遺留問題,也多是技術進步發展了有一些更優的解決方案,因此咱們在架構評審的最後能夠針對這些問題來提出進一步的 優化,給本身定一個更優的目標,追求技術上更進一步。主要邏輯能夠分爲下面幾步:

  1. 描述可能的柔性策略、優化手段和方法(包括技術上和運營上的);
  2. 描述優化後的系統架構圖和模型;
  3. 描述優化後的目標和成果

而在優化手段上,咱們也能夠結合公司其餘業務經常使用的優化手段,梳理總結出一套可能的優化方法,供你們參考。

  1. 資源的最大化整合和複用:好比運用虛擬化,docker等技術,來說設備的利用率發揮到最大優點,充分壓榨單機的處理負載,提升單機的處理能力。
  2. 新技術和新處理框架:好比採用新的處理框架,從http協議改成直接tcp處理,從原來的同步qzhttp改成異步rpc處理,以及充分利用GPU並行能力和FPGA可編程硬件相比軟件處理的高效性來提升編碼和壓縮的效率等等,來提高單機的效率。
  3. 新協議和新格式的利用:這塊在存儲類服務中最場景,好比用壓縮效率更高的webp來替代傳統的JPEG,而後又採用更高的H.265編碼格式的BGP圖片來替代webp,這些新格式的出現對於日益增加的海量數據又是一個重要的優化手段。
  4. 存量和長尾業務的規整:騰訊公司到如今也經歷了18年的春夏秋冬,各類業務浮浮沉沉保守估計也有上千了,對於這種存量和長尾型的業務,咱們如何對其進行適當縮容和最小化運營,甚至是推進其退隱下線,也是一個必要的優化手段。
  5. 提高資源管理和流轉效率:好比資源直供模式,閒置設備,閒置時段的離線計算使用,好比如何有效的利用存儲類設備的CPU資源來進行計算,這些也都是架構評審優化中值得考慮的問題。

好了,前面關於設備上的架構評審流程和方式講了這麼多,相信若是你們都按這麼思路來理解架構評審,再加上本身對業務和技術的充分理解,跟boss過的架構評審將再也不是個問題,更多的是對你們技術的展示了。

設備先講到這裏,有機會咱們繼續來解析如何作帶寬的架構評審。See you again!

相關文章
相關標籤/搜索