618大促來(lái)臨,在零點(diǎn)的時(shí)候,你打開(kāi)購(gòu)物車、點(diǎn)點(diǎn)點(diǎn)、清空,整個(gè)過(guò)程一氣呵成。但背后,成千上萬(wàn)的數(shù)據(jù)在馬不停蹄、加速流轉(zhuǎn),以保障消費(fèi)體驗(yàn)流暢有序。
騰訊云和數(shù)據(jù)庫(kù)服務(wù)是背后默默守護(hù)的“無(wú)名英雄”。電商訂單、支付、物流等核心鏈路,都是以數(shù)據(jù)庫(kù)為基礎(chǔ)。一旦數(shù)據(jù)庫(kù)成為瓶頸、或任何細(xì)微的疏忽,整個(gè)618大促將會(huì)變成一個(gè)大型“災(zāi)難現(xiàn)場(chǎng)”。
一場(chǎng)電商大促,涉及到的數(shù)據(jù)量有多大?
以一個(gè)消費(fèi)者的購(gòu)買過(guò)程為例,一次下單行為,對(duì)于后端數(shù)據(jù)庫(kù)就有多次讀寫調(diào)用;如果是秒殺場(chǎng)景就會(huì)產(chǎn)生“熱點(diǎn)更新”的問(wèn)題,更是對(duì)數(shù)據(jù)庫(kù)內(nèi)核優(yōu)化能力的一種“洗禮”;跨店鋪結(jié)算、資金金額,涉及到存儲(chǔ)核心交易數(shù)據(jù)的數(shù)據(jù)庫(kù),每一個(gè)字符都代表著真金白銀,下單失敗要進(jìn)行回滾,更是對(duì)后端系統(tǒng)多個(gè)組件的考驗(yàn);還有物流數(shù)據(jù)庫(kù)等都在支撐著整個(gè)電商交易環(huán)節(jié)…
這還只是一個(gè)用戶的行為,618當(dāng)天,有上億人都在重復(fù)這個(gè)動(dòng)作,想象一下這個(gè)數(shù)據(jù)量級(jí):一個(gè)下單動(dòng)作會(huì)涉及幾十條、甚至上百條的數(shù)據(jù)庫(kù)讀寫操作,如果保守估計(jì)按1億人參與大促來(lái)計(jì)算,618數(shù)據(jù)庫(kù)涉及上百億次的查詢或讀寫要求。
騰訊云服務(wù)了京東、唯品會(huì)、蘑菇街、每日優(yōu)鮮、貝店、什么值得買等主流電商客戶,是國(guó)內(nèi)服務(wù)電商客戶數(shù)量最多、范圍最廣的云廠商。一到大促節(jié)點(diǎn),數(shù)據(jù)量級(jí)就會(huì)幾何級(jí)增長(zhǎng)。
據(jù)不完全統(tǒng)計(jì),今年騰訊云數(shù)據(jù)庫(kù)為電商客戶承載了十億級(jí)別的QPS(每秒查詢數(shù))、PB級(jí)別的數(shù)據(jù)存儲(chǔ)量,整個(gè)大促期間數(shù)據(jù)庫(kù)平穩(wěn)有序運(yùn)行。
一、預(yù)先評(píng)估、讀寫分離、一鍵擴(kuò)容等系統(tǒng)能力為618保駕護(hù)航
每次大促前至少一個(gè)月,騰訊云數(shù)據(jù)庫(kù)團(tuán)隊(duì)都要和電商客戶一起評(píng)估資源:業(yè)務(wù)量會(huì)增長(zhǎng)多少,同比、環(huán)比是否有增長(zhǎng)預(yù)期。如果預(yù)計(jì)流量會(huì)翻3-5倍,團(tuán)隊(duì)就會(huì)和客戶一起去考量現(xiàn)有數(shù)據(jù)庫(kù)整體性能是否能滿足資源,以及需要做多少擴(kuò)容準(zhǔn)備。
這個(gè)時(shí)間周期有可能會(huì)拉長(zhǎng)到提前2個(gè)月,擴(kuò)容這一關(guān)鍵步驟確定后,準(zhǔn)備工作即告一段落。
騰訊云數(shù)據(jù)庫(kù)可支持秒級(jí)彈性擴(kuò)容。以騰訊云數(shù)據(jù)庫(kù)Redis為例,Redis通過(guò)提供大規(guī)模的集群產(chǎn)品,為電商客戶提供穩(wěn)定的高并發(fā)低延遲的緩存服務(wù),操作起來(lái)也極為簡(jiǎn)便,運(yùn)維人員僅需在控制臺(tái)點(diǎn)擊一個(gè)按鈕,即可操作完成數(shù)倍業(yè)務(wù)規(guī)格增長(zhǎng)的彈性擴(kuò)展。
在本輪618之前,Redis數(shù)據(jù)庫(kù)曾支持過(guò)騰訊會(huì)議高并發(fā)的考驗(yàn):在八天時(shí)間內(nèi)騰訊會(huì)議完成了100萬(wàn)核云服務(wù)器擴(kuò)展的同時(shí),Redis集群僅在半小時(shí)以內(nèi)就高效完成了數(shù)十倍規(guī)模的擴(kuò)容,單集群的擴(kuò)容流程后臺(tái)處理時(shí)間不超過(guò)30分鐘,同時(shí)保持了100%的系統(tǒng)可用性,在整個(gè)資源擴(kuò)展過(guò)程中,騰訊會(huì)議服務(wù)始終保持著大規(guī)模的在線運(yùn)行,海量用戶無(wú)感知,依然能夠高清流暢無(wú)卡頓的進(jìn)行會(huì)議。
騰訊云Redis是國(guó)內(nèi)唯一一款具備無(wú)損擴(kuò)容能力的Redis數(shù)據(jù)庫(kù)產(chǎn)品。堪稱一鍵“加油”。
618當(dāng)天,最緊張的時(shí)刻就要來(lái)臨了。
現(xiàn)場(chǎng)調(diào)度、后端運(yùn)維、研發(fā)團(tuán)隊(duì)等都會(huì)全力保駕護(hù)航。數(shù)據(jù)庫(kù)團(tuán)隊(duì)也會(huì)專人去客戶現(xiàn)場(chǎng),責(zé)任到人、排好班,后端研發(fā)運(yùn)維團(tuán)隊(duì)也會(huì)做到萬(wàn)無(wú)一失,24小時(shí)前所有人員就位,預(yù)檢開(kāi)始。
零點(diǎn)時(shí)分峰值飆升,凌晨2點(diǎn)、早上8點(diǎn)、10點(diǎn)……數(shù)據(jù)峰值呈現(xiàn)出波形趨勢(shì)。騰訊云數(shù)據(jù)庫(kù)團(tuán)隊(duì)會(huì)實(shí)時(shí)觀測(cè)數(shù)據(jù)和大盤。
一些細(xì)節(jié)很能說(shuō)明問(wèn)題,比如大盤CPU,實(shí)時(shí)CPU會(huì)緩慢爬升,10%、20%…隨著搶購(gòu)進(jìn)入高潮,實(shí)時(shí)CPU上升接近50%時(shí),運(yùn)維人員就需要發(fā)出預(yù)警。超過(guò)50%,團(tuán)隊(duì)就要和客戶一起想辦法,采取擴(kuò)容等策略,爭(zhēng)取把問(wèn)題消除在萌芽狀態(tài)。
另外一個(gè)核心指標(biāo)是線程數(shù),這是衡量一個(gè)數(shù)據(jù)庫(kù)運(yùn)轉(zhuǎn)是否健康的重要指標(biāo),即有多少個(gè)線程在同步運(yùn)轉(zhuǎn)。一旦發(fā)現(xiàn)超出正常運(yùn)行的線程數(shù),立即排查處理。
在高峰期,云原生數(shù)據(jù)庫(kù)TDSQL-C(原CynosDB)的“日志即數(shù)據(jù)庫(kù)”的計(jì)算與存儲(chǔ)分離架構(gòu)將系統(tǒng)可能出現(xiàn)的問(wèn)題消弭于無(wú)形,計(jì)算層和存儲(chǔ)層可以分別獨(dú)立彈性擴(kuò)展,支持秒級(jí)升降配和故障恢復(fù)。
TDSQL-C完全兼容MySQL以及PostgreSQL等開(kāi)源協(xié)議的產(chǎn)品特性,使得企業(yè)業(yè)務(wù)“零”改造就可以平滑地遷移到TDSQL-C,幫助用戶業(yè)務(wù)快速上云:TDSQL-C擁有130萬(wàn)QPS的高性能和128TB海量存儲(chǔ)能夠充分滿足企業(yè)長(zhǎng)期的業(yè)務(wù)需求。
另外TDSQL-C支持Serverless形態(tài),是國(guó)內(nèi)首款計(jì)算和存儲(chǔ)全Serverless架構(gòu)的云原生MySQL數(shù)據(jù)庫(kù),讓用戶像使用水、電、煤一樣使用數(shù)據(jù)庫(kù)。
二、自動(dòng)化運(yùn)維已成為電商大促常態(tài)
歷經(jīng)數(shù)十年發(fā)展,數(shù)據(jù)庫(kù)運(yùn)維已經(jīng)度過(guò)石器時(shí)代、工具時(shí)代、專家時(shí)代,隨著工具的日趨成熟,低價(jià)值的工作量得以解放,DBA價(jià)值不斷提升,數(shù)據(jù)庫(kù)運(yùn)維進(jìn)入了智能時(shí)代。
為了最大程度降低618大促期間的成本及消耗,騰訊云數(shù)據(jù)庫(kù)智能運(yùn)維管家DBbrain能夠幫客戶做巡檢、運(yùn)維和優(yōu)化的工作。
DBbrain是騰訊云結(jié)合前沿人工智能技術(shù)推出的一款數(shù)據(jù)庫(kù)智能診斷和優(yōu)化產(chǎn)品。DBbrain支持多款SQL、NoSQL、NewSQL數(shù)據(jù)庫(kù)類型,可以為用戶提供7*24小時(shí)數(shù)據(jù)庫(kù)異常發(fā)現(xiàn)、診斷分析等數(shù)據(jù)庫(kù)自治能力,并通過(guò)智能化告警服務(wù)及時(shí)觸達(dá)用戶;同時(shí)提供專家建議和一鍵優(yōu)化功能,利用AI技術(shù)為用戶提供在線自動(dòng)優(yōu)化數(shù)據(jù)庫(kù)性能的服務(wù),針對(duì)業(yè)務(wù)訪問(wèn)特性定制化生成最優(yōu)配置,大幅提高數(shù)據(jù)庫(kù)運(yùn)維效率。
除了7*24小時(shí)的實(shí)時(shí)診斷優(yōu)化,DBbrain還具有安全威脅識(shí)別、混合云管理數(shù)據(jù)庫(kù)和掌上數(shù)據(jù)庫(kù)運(yùn)維等功能。依托騰訊云專業(yè)的深度學(xué)習(xí)算法模型和海量樣本訓(xùn)練環(huán)境,它可以應(yīng)對(duì)變化多端的攻擊場(chǎng)景,對(duì)各類變體攻擊以及非常見(jiàn)威脅操作實(shí)現(xiàn)監(jiān)控和告警。比如,訪問(wèn)量超標(biāo),或者系統(tǒng)出現(xiàn)故障。
同時(shí)DBbrain能夠適用于云上、云下數(shù)據(jù)庫(kù)場(chǎng)景,不僅為騰訊云數(shù)據(jù)庫(kù)實(shí)例提供診斷優(yōu)化服務(wù),也支持用戶自建的數(shù)據(jù)庫(kù)和其他云部署的數(shù)據(jù)庫(kù)實(shí)例,為用戶打造數(shù)據(jù)庫(kù)混合云管理的場(chǎng)景提供助力。另外,騰訊云還聯(lián)合微信團(tuán)隊(duì)將DBbrain的監(jiān)控、異常診斷、優(yōu)化建議以及數(shù)據(jù)庫(kù)管理功能集中在了移動(dòng)端,運(yùn)維通過(guò)手機(jī)便可直接完成。極大地降低了電商客戶的運(yùn)維成本。