隨著互聯(lián)網(wǎng)信息技術(shù)的發(fā)展
個(gè)性化推薦早已融入我們的生活
手機(jī)里收藏的各類資訊內(nèi)容
背后都有TA
作為國(guó)內(nèi)領(lǐng)先的內(nèi)容生態(tài)服務(wù)平臺(tái),上海閱客信息科技有限公司(簡(jiǎn)稱“閱客”)通過(guò)數(shù)據(jù)分析驅(qū)動(dòng)運(yùn)營(yíng),規(guī)?;峁﹥?nèi)容生態(tài)服務(wù),并基于內(nèi)容場(chǎng)景提供廣告技術(shù)服務(wù),以技術(shù)精準(zhǔn)匹配內(nèi)容和用戶,實(shí)現(xiàn)內(nèi)容收益的最大化。
閱客擁有強(qiáng)大的內(nèi)容服務(wù)和廣告能力,每日過(guò)萬(wàn)的內(nèi)容更新以及上億的曝光,龐大的數(shù)據(jù)體量和海量高并發(fā),對(duì)支撐閱客業(yè)務(wù)應(yīng)用的數(shù)據(jù)庫(kù)發(fā)起了挑戰(zhàn)。
數(shù)據(jù)量激增下的存儲(chǔ)問(wèn)題
數(shù)據(jù)庫(kù)作為承載海量數(shù)據(jù)的基石,承擔(dān)著守護(hù)企業(yè)數(shù)據(jù)資產(chǎn)的重任,也在企業(yè)數(shù)字化轉(zhuǎn)型中發(fā)揮著關(guān)鍵作用。
數(shù)據(jù)量激增下,閱客使用的基于ECS自建的Redis數(shù)據(jù)庫(kù)在高并發(fā)和穩(wěn)定性方面面臨巨大壓力,成本也隨之攀升:
性能問(wèn)題
經(jīng)常出現(xiàn)慢查詢問(wèn)題,每天有大量告警。
專業(yè)分析:在配置緩存場(chǎng)景中,閱客使用了Redis存儲(chǔ)配置策略信息。這里通常會(huì)存在一些大key,大key在開源Redis中經(jīng)常有阻塞請(qǐng)求的性能問(wèn)題。
海量數(shù)據(jù)高并發(fā)訪問(wèn)
業(yè)務(wù)經(jīng)常出現(xiàn)訪問(wèn)超時(shí),甚至需要重啟自建Redis。同樣,每天也會(huì)受到大量告警。
專業(yè)分析:由于業(yè)務(wù)采用分布式部署,對(duì)Redis的并發(fā)請(qǐng)求量很大,自建sentinel哨兵Redis上連接數(shù)日常維持在3萬(wàn),開源Redis無(wú)法承受。
數(shù)據(jù)存儲(chǔ)成本高昂
數(shù)據(jù)量激增,給業(yè)務(wù)運(yùn)營(yíng)帶來(lái)壓力,成本隨之增加。
專業(yè)分析:布隆過(guò)濾場(chǎng)景中的protobuf序列化數(shù)據(jù)也越來(lái)越多,增長(zhǎng)到了TB級(jí)。而開源Redis內(nèi)存成本痛點(diǎn)、穩(wěn)定性痛點(diǎn)開始出現(xiàn)。
搬遷兼容顧慮
如果選擇上云,閱客必須修改自己的業(yè)務(wù)代碼,然后重新發(fā)版、上線,業(yè)務(wù)改造負(fù)擔(dān)大。
專業(yè)分析:閱客一開始自建了兩類不同架構(gòu)的Redis集群,分別是Cluster集群和Sentinel集群。每個(gè)集群對(duì)應(yīng)相應(yīng)的客戶端代碼,且不互相支持。
云原生時(shí)代的個(gè)性化推薦
云原生時(shí)代,基于統(tǒng)一云基礎(chǔ)設(shè)施的云原生數(shù)據(jù)庫(kù),成為企業(yè)上云首選。閱客緊隨時(shí)代發(fā)展潮流,選擇了華為云云原生數(shù)據(jù)庫(kù)GaussDB(for Redis)作為企業(yè)數(shù)字化轉(zhuǎn)型的數(shù)據(jù)底座,全數(shù)替換了原先自建的Redis數(shù)據(jù)庫(kù),業(yè)務(wù)發(fā)展邁上新臺(tái)階。
性能卓越,內(nèi)容推薦更快速
針對(duì)閱客配置緩存業(yè)務(wù)中的性能問(wèn)題,GaussDB(for Redis)采用分布式架構(gòu)和多線程結(jié)合的方式,提供了卓越的性能,保障業(yè)務(wù)持續(xù)高效運(yùn)行。相比開源Redis的單線程架構(gòu),GaussDB(for Redis)的多線程架構(gòu)更具優(yōu)勢(shì),即使存在大key,也不會(huì)導(dǎo)致全局性能受損。
成功搬遷后,閱客自己的響應(yīng)超時(shí)告警大幅減少,配置緩存業(yè)務(wù)響應(yīng)及時(shí)高效,內(nèi)容推薦更快速到達(dá)用戶端。
海量存儲(chǔ),內(nèi)容推薦更平穩(wěn)
GaussDB(for Redis)提供獨(dú)享的連接數(shù)資源,客戶將自建哨兵Redis搬遷到4節(jié)點(diǎn)GaussDB(for Redis)實(shí)例后,業(yè)務(wù)實(shí)實(shí)在在獨(dú)享4萬(wàn)連接數(shù)資源,且都在合適閾值內(nèi),運(yùn)行非常穩(wěn)定,徹底解決了閱客業(yè)務(wù)的連接數(shù)問(wèn)題,億級(jí)流量洪峰場(chǎng)景下也能從容面對(duì),內(nèi)容推薦更平穩(wěn)。
布隆過(guò)濾器業(yè)務(wù)成本節(jié)省80%
GaussDB(for Redis)采用存算分離架構(gòu),可以獨(dú)立購(gòu)買計(jì)算、存儲(chǔ)資源,避免開源Redis經(jīng)常出現(xiàn)的算力成本浪費(fèi);擁有強(qiáng)大的數(shù)據(jù)壓縮能力,尤其對(duì)布隆過(guò)濾場(chǎng)景中的protobuf序列化數(shù)據(jù)有奇效,實(shí)現(xiàn)了TB級(jí)數(shù)據(jù)到GB級(jí)的有效壓縮,釋放了80%的存儲(chǔ)成本,完全超乎客戶想象,也為客戶今后的業(yè)務(wù)增長(zhǎng)鋪好了路。
應(yīng)用無(wú)須改造,一鍵式搬遷
GaussDB(for Redis)提供“Proxy通用型”實(shí)例類型,同時(shí)兼容StandAlone客戶端、Cluster客戶端以及Sentinel客戶端,無(wú)需修改客戶端業(yè)務(wù)代碼,真正做到了“一種架構(gòu)全兼容”、“業(yè)務(wù)搬遷0改造”,徹底打消了閱客的搬遷兼容顧慮。在研發(fā)團(tuán)隊(duì)支撐下,一周就搞定了全部數(shù)十套自建Redis,實(shí)現(xiàn)了高效平滑無(wú)感遷移。
云原生數(shù)據(jù)庫(kù)GaussDB(for Redis)不僅提升了閱客的服務(wù)效率,讓個(gè)性化推薦更快更穩(wěn),還降低了存儲(chǔ)和改造成本,為企業(yè)未來(lái)發(fā)展奠定了云化基礎(chǔ),助力閱客實(shí)現(xiàn)更高質(zhì)量的資訊觸達(dá)。