鯨品堂|淺談新一代賬務系統的高可用演進思路

2024-01-15 190

隨著時代的發展,移動辦公已經成為了常態,大家也越來越離不開手機,微信、QQ、網游、郵件、電話會議等等,網絡通信幾乎一刻都不能中斷。對于電信運營商來說,繳費、充值、復機等關鍵應用幾乎不能中斷,否則就會導致終端用戶無法使用手機業務,引起客戶的投訴。然而軟件產品出現故障有時候又是不可避免的,出現故障的原因也是五花八門,有網絡的,有硬件的,有中間價的,有數據庫的等等,因而實現這一目標并非易事。


本文重點闡述計費領域在高可用方面的一些思考和實踐。


軟件系統的高可用架構演進通常經歷以下幾個階段:



單點故障:初始階段,系統中存在單點故障,即某個關鍵組件或服務的故障會導致整個系統不可用。



水平擴展:通過增加更多的節點來擴展系統的處理能力和容量。水平擴展可以通過添加更多的服務器、分布式存儲或數據庫節點來實現。



負載均衡:引入負載均衡器,將流量均勻地分發到多個節點上,以避免單個節點過載。負載均衡器還可以檢測節點的健康狀態,并在節點故障時自動將流量轉移到其他健康節點上。



冗余備份:為了提高可用性,引入冗余備份的概念。通過復制關鍵組件或服務,當一個節點故障時,可以切換到備份節點繼續提供服務。



容錯設計:在架構中引入容錯機制,以應對節點故障或網絡故障。例如,使用多個數據中心進行跨區域備份和容災,或者使用分布式存儲和數據庫系統來實現數據的冗余和恢復能力。



自動化運維:引入自動化工具和流程,減少人工干預,提高系統的可靠性和可恢復性。自動化運維可以包括自動監控、故障檢測和恢復、自動擴展等。


2019年,中國電信完成了BSS3.0系統的升級改造,實現了全面去IOE,全面引進中國電信集團的各種組件,包括分布式數據庫組件、分布式消息中間件、分布式緩存、分布式文件系統、微服務框架等,全面實現了分布式架構的提升,在系統高可用方面實現了全面的提升,已經基本上解決了單點故障、水平擴展、負載均衡等能力。但是隨著系統引入的分布式組件越來越多,系統架構越來越復雜,不可避免的會引入一些新的問題,比如分布式組件集群出現問題時,如何能夠做到業務的永不中斷呢?比如數據庫變慢,分布式內存數據庫出現問題,該如何確保充值能夠及時復機?


針對這些影響高可用的問題,先思考下策略:



數據庫變慢了,數據庫短時不可用,該怎么辦?可不可以脫庫運行呢?能不能把數據加載到分布式內存數據庫,減少對數據庫的依賴?



分布式內存數據庫也不行了怎么辦?能不能多部署一套分布式內存數據庫,實現藍綠部署?



分布式消息中間件、分布式緩存不行了怎么辦?能不能多部署一套,實現一鍵切換呢?



如何做到一鍵切換呢?當前系統中有多種方式實現參數配置,有在業務代碼中的,有在參數組件中的,有在共享內存中的,能否引入配置中心,實現一點配置即時生效呢?


根據上述的一些思考和細化討論,形成了關鍵解決方案和舉措:



充值復機全內存化,徹底避免了Teledb/TelePG/TeleHTAP等物理庫異常帶來的故障風險,提升了充值服務的性能及穩定性。



異常異步充值,充值服務異常時先返回充值成功,觸發異步充值重試,屏蔽充值服務異常報錯時對用戶的直接感知。



綠色復機通道,通過充值端到端消息追蹤實時監測充值業務異常,針對系統環節異常積壓造成的復機不及時場景,優先保障充值用戶及時復機,避免用戶投訴。



藍綠故障轉移,針對PAAS組件集群級故障,包括資料內存庫集群、CTGMQ集群、CTGCache集群異常時,自動觸發藍綠自動切換,保障充值服務不受影響。


01

服務內存化方案

圖片關鍵詞

充值&沖賬全內存化,脫離對TelePG和TeleDB的依賴,從而避免分布式事務問題,以及防止物理庫故障或并發性能波動影響充值服務,提升充值服務的性能及穩定性。


圖片關鍵詞


充值、沖賬、余額預占、快速復機等服務中涉及到資料查詢、余額欠費、收費記錄、接口流水、余額來源支出、余額支出明細、未打單記錄等均需要進行內存化。通過MDB的持久化服務同步數據到物理庫。


02

綠色通道方案


充值復機任何環節出現異常時,先觸發用戶綠通復機,保障用戶及時復機,不影響用戶的業務使用。


針對充值到賬不及時場景,異步自動重試補充值。


充值到復機端到端流程進行jaeger調用鏈埋點,實時監控從充值到賬及復機處理的及時率,針對端到端時延超過閥值的充值交易記錄,觸發告警并自動啟用綠色通道先行開機,平均復機及時率達到一定閥值時全面開啟綠色通道。


圖片關鍵詞

充值復機綠色通道監控大屏


方案關鍵亮點如下:



充值異常監測服務,實時監測充值端到端日志,識別異常工單實時自動觸發綠色通道開機。

  • 充值到賬不及時:以集團充值接口日志和GPRC充值成功日志(覆蓋全渠道)為基準時間,3分鐘內沒有充值成功日志,調用openapi補充值。

  • 復機處理不及時:以集團充值接口日志和GPRC充值成功日志(覆蓋全渠道)為基準時間,在3分鐘內沒有查詢到快速復機或者信控處理的消息,觸發綠色通道直接復機。

  • 復機工單發送不及時:以快速復機或信控處理日志復機工單日志為基準時間,在3分鐘內沒有查詢到復機發送的日志,則記錄充值復機異常工單,觸發綠色通道直接復機。



綠色通道開機服務均不能依賴業務系統使用的組件和數據庫,覆蓋全充值渠道及復機工單發送異常的場景。

  • 直接寫CRM復機工單表,內部狀態變更等正常信控處理更新,針對經過信控判斷后不應該復機的情況,定期檢查并通知信控服務更新內部狀態,后續實時信控可再停機。



通過充值業務監控大屏,實時監控各渠道充值業務情況,直觀展示系統端到端各環節性能、積壓及異常情況,以及綠色通道服務情況。支持人工一鍵開通綠色通道。

  • 可鏈接到充值端到端明細查詢,體現每筆充值交易的各環節的處理情況,快速找到異常的充值記錄及綠通復機處理情況。

  • 可關聯查看每筆充值交易的詳細調用鏈,快速定位充值復機的異常問題


03

藍綠部署方案


MDB資料庫、 CTGMQ、CTGCACHE采用雙集群互備,業務應用服務采用藍綠部署,PAAS組件集群級異常時,故障自動轉移、藍綠一鍵切換。


圖片關鍵詞



MDB資料庫集群和PAAS組件藍綠部署

  • MDB資料庫通過資料刷新應用雙邊刷新,保障兩套MDB資料庫集群的數據一致性。

  • CTGCACHE通過參數刷新應用,在參數發生變更時兩套集群同時刷新。

  • CTMMQ集群藍綠各自使用一套集群,集群間不做數據同步,藍綠兩套MQ消費者各自消費各自的MQ集群。



應用服務藍綠部署

  • 接口層服務保持一套:僅啟動時依賴數據庫,運行過程中不依賴數據庫、MQ、CACHE組件,無需藍綠部署。

  • Dubbo服務、Grpc服務、MQ消費者服務采用藍綠部署,分別連接藍綠兩套的MDBCUST、CTGMQ、CTGCACHE集群,可通過istio服務網格的服務路由規則,實現藍綠服務負載均衡。

  • 故障自動轉移、藍綠一鍵切換:當發生MDB資料庫、CTGMQ、CTGCache集群級異常時,配置istio的故障自動轉移規則,故障服務自動熔斷,業務路由自動轉移到正常服務;通過健康探針機制實現服務故障自愈,并自動恢復業務路由。當故障短期無法恢復時,通過修改istio路由規則,人工一鍵藍綠切換。



通過Istio控制藍綠路由策略,支持默認三種路由策略,三種策略可以一鍵切換:

  • 自動負載均衡,故障自動轉移(推薦)

  • 全部路由到藍色服務

  • 全部路由到綠色服務



賬務中心監控大屏,實時檢測IAAS、PAAS、SAAS三層立體監控,實時檢測藍綠業務流量負載及業務服務情況,異常時一鍵切換。圖片關鍵詞


圖片關鍵詞


  • 第一層:監控各個應用服務的情況,包括調用成功率、實時調用量、性能時延及服務狀態等關鍵指標,異常時紅色預警;按充值、查詢、發票、其他四類業務類別分別展示藍綠服務各自的情況,以及藍綠當前實時業務流量總占比。

  • 第二層:監控MDB、MQ、CACHE、UDAL等數據庫及PAAS組件的狀態、訪問量等指標,異常時紅色預警;

  • 第三層:監控各個PAAS組件、數據庫及應用主機的情況,對于主機CPU、內存、IO及主機狀態進行監控,當主機異常時可以紅色預警。



通過賬務中心監控大屏,可鏈接到各PAAS組件及應用監控的子屏,進行更詳細的指標監控

  • 主機監控:展示包括數據庫、PAAS組件及應用主機等所有主機的詳細監控指標,快速發現主機故障問題,并生成預警。

  • MQ集群監控:實時檢測 MQ集群的消息生產和消費情況。

  • CtgCache集群監控:實時檢測cache集群的訪問量及內存使用率等情況

  • MDB集群監控:實時檢測MDB集群的連接數、服務狀態、讀寫性能、持久化、刷新積壓等各類指標。

  • 賬務中心服務性能監控:檢測賬務中心各渠道各層級服務的交易量、性能時延、成功率等關鍵指標,快速定位異常服務。

  • 充值業務監控大屏


通過以上的服務內存化、綠色通道以及藍綠部署等舉措,實現了浩鯨科技新一代賬務系統的高可用,保障充值復機業務的永不間斷。


官方微信公眾號

浩鯨云計算科技股份有限公司 版權所有 2003-2023

蘇ICP備10224443號-6       蘇公網安備 32011402011374號

亚洲精品免费视频_热99re6久精品国产首页青柠_精品国产专区91在线_亚洲美洲欧洲偷拍片区