每一個產品背後,都有數十個cms系統去支撐內容管理,包括運營活動素材、圖片資源、文案等實時配置和下發,但是人工搭建cms的方式十分重複,且後續維護成本較高。在騰訊,有一款快速生產cms的產品,叫無極cms管理系統,核心價值是輸出可視化配置頁,讓運營同學配置海報素材、讓產品經理配置頁面文案、讓開發同學配置程序配置,關聯任意崗位人員需要使用數據的場景。無極一直密切關注b端應用的生成,針對大型複雜b端應用,主要由無極低代碼平台進行搭建;而針對通用化的cms場景,例如資料庫表的可視化配置頁面,以及數據拉取服務,則基於今天要介紹的 無極cms管理系統上 搭建生成。實際上,大家接觸到的很多騰訊產品的界面元素,都是在無極cms管理系統上配置的。例如元夢之星的大量素材位(每日任務、海報素材、活動獎勵等日常更新頻繁的內容位):企鵝號的文章,從文章同步、預覽、生成,全套操作,直接使用無極:開發人員使用無極管理程序配置,程序匹配到錯誤碼後提示:無極cms管理系統,支撐了騰訊大量業務的數據配置場景,覆蓋遊戲、新聞、金融、視頻多個領域。為什麼這個cms管理工具能在多個領域都能使用呢,主要是無極將cms生成過程進行了標準化。cms,本質是對數據從資料庫讀寫進行封裝、以及將數據的配置流程進行可視化。無極封裝了這些細節,三分鐘就可以輸出一個既完整又好用的cms頁面。
三分鐘輸出一個cms頁面
cms頁面,大部分是針對db進行操作的列表頁、表單頁,展示形式非常統一。因此無極的核心設計理念是在線建庫表,並生成規範的cms頁。以下簡單介紹建庫表的一些細節:首先,無極上可以直接創建db,不需要接觸命令行和建庫語句,資料庫也由無極自動分配,不用額外購買。此外,也支持業務將已有db掛載到無極上進行可視化管理。創建好db後,可以直接創建數據表。這裡創建欄位時,選的不是varchar或者text、int等資料庫類型,而是ui組件。無極會自動幫忙做ui組件和db存儲類型的轉換。為了方便運營同學配置,無極覆蓋了絕大多數b端組件。例如圖片上傳、文件上傳組件,自動打通了cdn分發,上傳後就會生成外網用戶可用的地址。選擇器組件,支持動態選項配置,可以直接跨庫關聯其它字典表,同時支持對接第三方後台介面。
建表完成後,cms頁面就生成好了,可以直接編輯數據了。
那數據編輯好後,如何進行讀取呢?還需要後台同學開發介面嗎?無極同時配套了數據讀取服務,開箱即用。開箱即用的數據介面
無極除了能釋放搭建cms的前端人力,同時也能減少後台重複開發toc使用介面的工作量,防止不斷膨脹的後台微服務。針對每個數據表,無極提供了獨立授權的高性能介面,直接調用介面,就能把數據對接到pc網頁、app、小程序等任意外網場景使用。除此之外,如果有數據寫的場景,也有專門的開放介面供使用。新建cms頁面後,自動生成的部分介面:
原生sdk
無極cms管理平台,不僅能存儲活動素材、文案,也包含程序配置。在很多場景中,讀取配置的不是前端或客戶端,而是後台。業務後台需要對數據進行組裝、過濾,或者做邏輯處理(如演算法參數配置,開關策略配置,地域差異配置等)。無極sdk就是專門為後台服務提供的。無極sdk的作用是確保數據永遠可用,即使資料庫或無極server鏈路異常,也能確保業務後台的正常運行。無極sdk支持多種語言,包括go、c++、java、node.js等。在整體架構設計時,我們重點關注以下問題:sdk採用了多級緩存 + 插件機制,無極服務鏈路異常也能保證數據能正常獲取。另外,sdk內部自帶降級策略,異常情況下能無縫切換本地備份,避免影響業務後台服務。對很多業務來說,資料庫是整個系統最薄弱的環節。而sdk默認對配置數據做本地緩存,不會對業務db有強依賴,可以有效降低海量業務對db訪問的壓力。大部分c端請求量都被sdk本地緩存消化掉,極少回源到db。即使有10萬個進程同時訪問一張表,也不會對物理db造成壓力。● 查詢靈活性:無極介面原生支持join數據關聯和where條件查詢,對標db sql粒度。● 查詢速度:利用sdk請求數據時,採用的是「零拷貝」的方式,會100納秒級內查詢到數據,非常高效。另外,sdk側無需監聽數據變更,新數據秒級分發到所有服務節點,確保數據總是最新的。sdk設計思想始終圍繞:穩定、安全、高效、輕量,經過大量業務場景不斷打磨,日均承載已超百億級配置請求,成為支撐業務穩定運行的核心基礎設施。通過將數據拉取的複雜性收斂在sdk層,讓後台開發可以專註於核心業務邏輯的實現,而不是將注意力放在數據配置的穩定拉取和容災策略上。配置安全把關
近年來由於配置導致的重大事故頻頻發生,填錯一個參數,都能讓企業損失巨大。典型案例中,2025年1月,某支付巨頭因後台配置錯誤,導致眾多支付場景出現8折優惠,5分鐘損失超9個億;2024年5月,某雲廠商因配置錯誤,導致養老基金公司雲賬號被刪除,導致62萬會員長達一周無法訪問養老金賬戶,造成極大社會影響。這些事故的深入分析說明,如果缺乏嚴謹的配置發布管理機制,錯誤的配置容易直達生產環境。無極主要從配置發布的事前、事中、事後三個階段進行安全把控。事前——配置發布前:可以配置審批流程,有效增加發布的嚴肅性:事中——配置發布時:利用完善的版本管理,發布粒度可以控制在全表發布、或者行粒度發布。事後——配置發布後:具備版本回滾的能力,可以實時回滾秒級恢復,及時止損。另外,無極還集成變更日誌檢查、水印等能力,方便查閱每條配置的數據流轉、審計追溯。很多開發同學習慣直接操作資料庫,配置可以隨意生效,數據變更有很大的風險。無極通過版本管理、審核機制、灰度發布等技術手段,既保持配置管理的操作便捷性,又可以將潛在的配置出錯風險控制在最小範圍內。在騰訊內部,早就告別了每個需求都從零搭建cms的模式,重複搭建不僅消耗研發資源,還會拖慢業務迭代速度,後續還得考慮維護。騰訊無極cms管理系統,提供的是數據生產和數據使用的全生命周期管理服務,通過減少cms和數據拉取服務的重複開發,雙管齊下釋放前後端研發人力,讓團隊將更多精力聚焦在業務創新上。騰訊無極cms管理系統,屬於騰訊端服務聯盟成員,歡迎體驗,也歡迎帶著你的業務場景與我們交流。無極cms管理系統:https://wujicode.cn/cms