浩鯨云計算科技股份有限公司 版權所有 2003-2023
News
News
建設背景:業務發展變化快 隨著政企等新興業務的拓展,訂單量增長迅速,原有應用+數據庫的架構面臨著很大的壓力,一方面,煙囪式的應用難以快速橫向擴展,另外一方面,需要引入新的數據組件緩沖數據庫壓力。 秒殺、直播帶貨等新興業務帶來訂單量在短時間內的突增,如何應對短時間內的高峰對主機資源的要求又能盡量降低擴容成本?需要考慮在系統過載的情況下能對自身的服務和外部的請求都進行取舍,保障核心服務的穩定性,實現系統的韌性。 為了搶占新市場,需求交付周期越來越短,版本上線愈發頻繁,傳統的手工作坊式的研發交付模式已經不能滿足業務交付要求了,需要在DevOps理念下引入研發效能工具體系。 訂單中心系統日益龐大,涉及到復雜的技術組件和架構,特別在面向政企業務支撐過程中,非標準、長流程及多系統協同的場景非常普遍,一旦訂單中心自身或周邊系統異常,出現各種組件的連鎖反應,產生大量的告警,如何快速定位問題根因,如何實現系統自愈、實現業務層面無感知,如何以可視化的方式立體化呈現整個系統、實現數字孿生。 問題解決之道:擁抱云原生 全面云化: 應用完成容器化改造,基于云原生PaaS平臺,適配磐基底座,使用云原生的技術組件。 微服務: 領域驅動設計指導微服務改造,訂單中心拆分成若干個微服務線,構建“管、診、治”微服務治理體系,提供可視化服務編排能力。 DevOps: 構建研運一體化的工具體系,實現訂單中心的敏捷研發、快速交付、縮短迭代周期,快速響應客戶需求。 智能運維: 實現多維監控與告警,業務與系統的監控聯動和統一展示,支撐故障的快速定位與恢復,實現常態化故障攻防演練。 云原生總體架構 基礎設施層:訂單中心運行于虛擬化的基礎設施上,平臺PaaS組件運行在虛擬機上,業務應用運行在容器上。 數據層:訂單中心大量采用云原生PaaS組件,包括redis、MQ、ElasticSearch等,降低數據庫壓力的同時保證數據層的高可用。 應用服務端:基于微服務化構建了多條微服務線,通過構建訂單中心的微服務網關實現多條微服務線的統一服務治理,確保訂單中心的高可用。 應用客戶端:多渠道多類型的客戶端訪問請求,先通過Nginx再進入訂單中心。訂單中心內部部署了生產中心、灰度中心和災備中心,Nginx主要用于多中心之間的切換。 統一監控運維:構建研運一體化工具實現敏捷研發、快速迭代,通過統一日志和運維監控實現業務和系統的多維統一監控和展示,通過調用鏈實現問題的快速定位。 云原生應用實踐 服務熔斷:訂單中心的服務可以配置,當其下游服務單位時間內調用失敗次數達到閥值時,防止整個系統出現連鎖反應甚至雪崩,暫時停止對該服務的調用。 服務限流:當入口請求 QPS 超過服務配置的閥值時,如瞬時出現高并發訂單查詢請求時,訂單查詢服務可以配置對某些渠道的查詢請求進行限制,以保證本服務不被壓垮。 服務降級:如上圖所示,當訂單中心的服務壓力達到一定程度時,訂單中心配置了服務降級策略,對容忍度高的服務進行降級,如對查詢服務降級,以保證訂單創建服務等核心服務的穩定性。 灰度路由切換:新版本在灰度中心發布后,調整路由策略,切換一部分業務流量到灰度中心上,運行2天驗證沒問題后才正式發布到南京中心。 多中心緩存同步:灰度發布期間,兩個中心間的緩存數據需要同步,通過MQ相互通知機制把變動數據加載到各中心緩存,并通過數據庫日志、消息監控等額外手段保證多中心緩存同步的正確性和一致性,實現了生產中心和灰度中心的無縫切換。 數據層版本控制:數據庫表中都有版本號字段,可以識別新舊版本涉及的數據,可用于問題定位和版本回退,實現了數據層的灰度發布。 通過統一日志采集實現日志監控及調用鏈輸出,通過調用鏈快速定位問題。 具備業務和系統的綜合監控展示分析,實現業務和系統的監控聯動,便于快速定位異常原因。 支持告警的閉環管理:支持告警的歸集、通知相關責任人、告警超時提醒、問題處理和記錄、告警恢復確認、告警關閉。 運維人員通過體系化的運維工具,可在5分鐘內快速找到問題根因并處理之,極大縮減整體故障修復所需時間。 場景說明:模擬部分節點cpu滿載,導致cpu平均使用率保持高水位 演練效果:系統監控到cpu負載高后,自動水平擴容節點,直到cpu負載保持正常水平 場景說明:模擬部分節點的服務延遲,導致服務整體時延偏高 演練效果:系統自動水平擴容節點,直到時延回落到正常水平 場景說明:模擬部分節點因故障導致服務終止,實際停掉部分節點 演練效果:系統發現部分節點停機,自動拉起新的Pod節點 云原生建設帶來的價值 實現業務系統的敏捷研發,特別是政企長流程多樣化業務的快速支撐,需求平均上線周期縮短50%。 通過在線灰度發布實現版本的提前驗證,實現了生產和灰度的無縫切換。 通過實現版本的快速發布上線、縮短迭代周期,一周上線一個版本。 每月研發產能增加50%。 訂單創建性能提升到5萬筆/分鐘。 訂單查詢性能提升到3000筆/秒。 訂單中心具備負載均衡能力,包括過載的水平擴縮容能力,保證應用自身可靠性。 實現故障隔離和恢復:應對故障,通過主動控制渠道接入點,將交易接入到正常運行的接入點,實現故障的完全隔離。通過故障點的自動重啟和擴縮容實現故障的恢復。 在系統壓力達到一定程度時,能有效實現限流和高危熔斷/降級處理。