分布式緩存平臺建設實踐
?一、引言
Redis作為一款簡潔、高效的鍵值型內存數據庫,2015年在G行引入,應用于多個業務系統,為高頻次、大并發交易提供了有效的熱點數據訪問加速方案。
隨著部署數量的加大,面臨著資源快速供給、規范化部署、軟件版本統一、集中運維管理等諸多挑戰。為此,G行啟動了分布式緩存平臺建設項目,旨在打造一個具備快速部署、集中管理、彈性伸縮、服務高可用的緩存服務化平臺。
二、建設目標
01快速部署?
基于G行全棧云IaaS層敏捷特性,通過對計算、存儲、網絡等資源的統一調度編排,實現緩存服務的快速部署和彈性伸縮,推出分布式緩存PaaS服務,助力應用系統敏捷開發。
02服務化輸出?
通過統一控制臺,實現Redis服務跨云集中管理;提供運行狀態分析、慢查詢分析、內存分析、統計數據展示、日常巡檢等功能,協助運維人員進行緩存性能優化、故障快速定位和日常運維管理。實現運維向運營轉型,提升精細化管理水平和服務化輸出能力。
03服務高可用?
將Redis高可用架構與全棧云架構深度融合,感知底層架構,打造可用區容災能力,實現故障快速感知和自動切換,提升Redis服務的高可用性和可維護性。
三、設計與實現
1功能架構設計
分布式緩存平臺定位于服務開發、測試、運維人員,滿足用戶各種場景的使用需求:支持開發和測試人員自助申請服務資源,查看服務運行狀態和資源使用情況,定位性能瓶頸;支持運維人員實現緩存全生命周期管理,包括配置變更、故障定位與處置、性能分析等;同時,支持對緩存服務整體情況進行多維度展示。基于此,分布式緩存平臺包括七大功能模塊:
門戶模塊:展示業務系統及納管服務的整體情況,包括系統健康度、告警匯總、重點監控等內容。
監控模塊:提供完善的監控告警能力,包括:將采集的運行指標進行多維度分析展示;支持用戶自定義監控項及調整閾值;支持差異化告警策略的制定;支持歷史告警詳情查看。
運維和管理模塊:將常規運維操作自動化,通過平臺頁面進行標準化操作,最大限度減少手工命令輸入,預防誤操作和減少不當操作的風險。
審計和日志模塊:提供平臺用戶登錄次數統計及操作記錄審計功能。
統計模塊:對日常關注的運營數據進行匯總展示,幫助運維人員快速了解服務整體運行情況和資源使用情況。
后臺管理模塊:實現平臺的權限控制、定時任務管理、以及與關聯系統的統一對接管理等。
技術支持模塊:支持查閱用戶手冊和技術文檔,提供問題反饋渠道,提升用戶體驗。
圖1.功能架構圖
2關鍵功能實現
2.1服務高可用
服務高可用從自動故障切換和物理容災兩方面進行設計。首先,通過Redis Sentinel和Redis Cluster支持緩存節點的故障感知和故障切換能力;同時,采用3AZ(可用區)物理部署方式,將同一組副本均勻部署在3個AZ中,提供AZ級別的高可用容災能力。
2.2自動化部署?
用戶自助提交Redis服務需求,經管理員審批完成后,實現分鐘級緩存服務交付。自動化部署打破了傳統交付模式,覆蓋了需求溝通、服務器資源申請、網絡資源申請、安裝部署、服務交付等流程。實現了Redis服務的快速和標準部署,同時大幅減少了人工運維成本,提升了整體運維效率和服務質量。
2.3運行分析?
一方面,對Redis運行指標進行實時采集和分類展示,便于運維人員發現服務運行風險、進行服務性能優化及故障原因快速定位。
圖2.監控指標項
另一方面,從業務系統維度展示Redis服務健康度。通過服務可用性、內存使用、連接數、慢日志等性能指標,建立服務健康度評分模型,方便運維人員全面掌握Redis運行情況、提高管控能力和管理效率。
圖3.健康度分析
2.4智能化運維?
智能化運維集成了實例管理、參數修改、主從切換、系統巡檢等功能,使常規運維操作自動化,復雜操作流程化,提升了運維操作、跟蹤審計和執行能力。
實例管理支持對實例節點進行增加、刪除、重啟、命令查詢操作。
參數修改支持對maxmemory、maxclients、requirepass等參數的在線修改,同時支持實例間的參數一致性對比校驗。
主從切換支持一鍵完成主從切換,并支持批量操作和查看切換狀態。
系統巡檢通過每天定時任務生成業務系統巡檢報告,包括資源使用情況、容量風險情況、基線合規情況等,并主動推送給相關人員。
2.5權限控制?
分布式緩存平臺主要面向數據庫管理員、應用管理員、開發和測試人員,權限控制需要保證用戶只能訪問其負責的業務系統,同時保證具備合理的操作權限。平臺基于RBAC(Role-based access control)模型實現權限控制,用戶登錄平臺后,后臺通過查詢CMDB,獲取用戶關聯的業務系統信息,為用戶分配業務系統權限,同時查詢用戶角色信息,通過對不同角色授予對應權限,實現平臺權限控制體系。
四、總結與展望
分布式緩存平臺建設從G行實際出發,是實現技術服務化、運維向運營轉型的重要舉措,為業務快速發展提供了敏捷化、高可用的緩存服務,同時提升了緩存服務的運維效率和交付效率,降低了運維管理成本。未來,分布式緩存平臺將在云原生方向持續探索,提供更高效可靠的緩存服務能力,為G行業務高質量發展提供更有力的支撐和保障。