迎戰雙11:1號店的五位一體保障機制
原創【51CTO.com原創稿件】一年一度的購物狂歡又到來了。雙11,早已不再是光棍節的代名詞,而是一場名副其實的購物狂歡節。在消費者購物買買買的時候,是各商家背后的IT部門的技術保障?!斑^個講究的雙11”,這是1號店今年雙11的slogan,1號店是如何的講究呢?

1號店技術部平臺保障部技術總監顧復告訴筆者,1號店在保障雙11活動時,以業務分析為起點,以質量改進為目標,以架構、運維和安全為主線,識別評估風險,制定保障措施,形成五位一體的電商大促保障機制。
架構保障--架構演化
電商核心交易系統有很多特點,其中高可用、高并發、高性能是基礎,而能夠達到這三高,首先依賴的是架構。
如今,1號店技術部已經有千人規模,系統每天支持億級的訪問量,單Service也達到支持每天數十億級的請求,清單支持每分鐘幾萬單,Service服務可用性達到了六個9,架構方面也經歷幾次演進:從強依賴-> Service化->業務解耦->讀寫分離->服務邏輯分組->異步->水平/垂直拆分等。
服務垂直拆分:為了保障雙11,1號店從產品、用戶&支付、訂單三個維度上對服務進行了規劃,構建1號店應用架構的三駕馬車,確立了SOA治理的框架基礎。在此基礎上,又陸續衍生出促銷、積分、支付等眾多Service業務,在三架馬車中同樣會細分至如文描、價格、庫存、下單、訂單查詢等垂直服務。

服務邏輯分組:在服務邏輯分組方面,1號店則采用SOA中間件-Hedwig,提供了軟負載均衡、節點踢出與孵化、服務動態邏輯分組的功能,并且可支持百億級的訪問請求,灰度發布,其背后提供的調用鏈路及層次關系、日志分析、監控預警等更是為SOA治理提供了強大的后勤保障。

DB讀寫分離:1號店的讀寫分離還從應用層面以及DB層面進行細分。例如,訂單庫的讀寫分離,訂單主庫主要承擔下單、編輯訂單、實時查詢等功能,而訂單備庫則承擔核心業務和非核心業務的非實時查詢、離線數據抽取等工作。
DB水平拆分:在2013年1號店實現了庫存的水平拆分,在2014年則完成了訂單水平拆庫成為繼淘寶之后第二個實現訂單水平拆庫的電商公司。1號店***采用Tcp-copy壓測技術,可覆蓋90%以上的業務場景,至少節省95%以上的人工測試成本;數據庫由收費Oracle轉為免費MySQL,節省至少千萬元的成本。

質量保障—工程化體系與保障管理體系
由于1號店所有電商系統和企業內部系統均是由技術部自研發,在研發管理體系方面,面臨著業務特征不一、研發成熟不統一、架構不統一等情況。為了提升研發隊伍生產力,1號店從2013年開始深度實踐AgileDev與DevOps理念,以質量保障為切入點和主線,向前、向后分別逐步打通了產品到研發、研發到運維的脈絡,使研發的效率、質量以及整個技術部的交付和保障能力得到了極大的提升。在質量工程化方面,1號店經過多年的建設,形成了圍繞產品測試、性能測試、自動化功能測試三大測試領域的質量保障云以及研發管理云服務,保障研發過程中的變更、測試、上線的高效和準確。同時,在保障管理體系方面,對保證大促期間系統正常運行,也總結了一套比較實用的實踐。在大促前,質量保障部會指導各產品線研發部門進行各類風險評估、應急方案的制定,并組織、指揮各類實戰演練。同時,各產品線研發團隊也會各自產品出發,協助公司運營部門,保障運營的質量。以產品測試為例,在雙11活動中,促銷頁是流量高度集中的頁面,那么檢查促銷的信息是否有誤導、商品的信息是否正確、頁面加載是否流暢、購物流程是否異常等,都是在大促期間質量保障中的重要工作。1號店制定了“填充會場 -> 報備信息 -> 運營自查 -> 研發復檢”的流程方式,保障促銷頁面的準確性。

運維保障—自動化運維體系
秉承DevOps理念,1號店的自動化運維體系也逐漸在大促保障過程中發揮了越來越大的作用。線上的自動化運維云平臺已經和線下質量保障云和研發管理云打通,實現了從業務研發產品交付到運維的閉環。例如,線上的自動化運維云平臺采用虛擬化、容器化的技術,更加高效的實現一鍵裝機、一鍵擴容,當需要交付產品時,團隊通過質量保障云服務生成上線審核報告,提交到研發管理云的發布審批服務上,該服務通過訪問質量保障云服務提供的質量數據,自動檢查是否符合交付標準,通過后會通知自動化發布系統、配置系統實現一鍵發布、灰度發布等目標。發布完成后,運維云平臺的發布結果會回寫到研發管理云的發布審批服務,同時質量保障云自動化測試平臺會啟動線上自動化測試,驗證發布結果。由此形成了高效的閉環。
除了平臺工具的保障,DBA、SA、網絡團隊、企業IT也會安排大量預案的設計和驗證演練,例如DBA會定期集中排查存在隱患的數據庫實例和SQL,通過各種升級、優化措施提前消滅隱患。

安全保障—堅強后盾
所謂道高一尺、魔高一丈,系統安全、業務安全是不能忽視的領域。在安全方面,1號店采取的策略集中在事前、事中和事后三個方向。通過在基礎平臺、各業務應用系統以及研發專門的風險防控和識別系統多個層次,實現安全防護。例如,在訂單處理系統,在訂單提交前和履單過程中設置了對惡意訂單的識別;在系統訪問上,對非常規的訪問進行了監測識別。用戶安全和用戶體驗是雙刃劍,既要保障正常用戶的購物體驗,同時保護系統和業務安全,1號店在這個方向還在不斷努力。
更多精彩內容,詳見專題!
【51CTO原創稿件,合作站點轉載請注明原文作者和出處為51CTO.com】