最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

無懼百萬級并發(fā),GaussDB讓華為Push推送服務更快觸達

2023-06-29 00:23 作者:消費測評世界  | 我要投稿


GaussDB(forCassandra)丨超大并發(fā)場景下,離線消息緩存的不二選擇

推送服務(Push Kit)是華為提供的消息推送平臺,建立了從云端到終端的消息推送通道。通過集成推送服務,可以向客戶端應用實時推送消息,讓應用更精準觸達用戶,是開發(fā)者提升用戶感知度和活躍度的一件利器。


華為云GaussDB(for Cassandra) 是一款基于華為自研的計算存儲分離架構的分布式數(shù)據(jù)庫,致力于提供穩(wěn)定可靠、超高并發(fā),兼容Cassandra生態(tài)彈性伸縮、一鍵部署、快速恢復、監(jiān)控告警的分布式數(shù)據(jù)庫服務,Push業(yè)務的高效架構建設中,起到了關鍵的作用。


業(yè)務挑戰(zhàn)

Push服務能夠協(xié)助開發(fā)者快速觸達用戶,提供的系統(tǒng)級通道推送速度每秒最高可達百萬級,消息量每日百億級,并且支持實時消息回執(zhí)。如此高到達率背后,是因為Push使用了大量分布式架構高性能隊列、大數(shù)據(jù)分析、數(shù)據(jù)庫、AI等技術,用來支撐實時推送、精準送業(yè)務的高效開展

Push主要業(yè)務鏈路發(fā)送上行消息和下行消息,接下來我們從發(fā)送下行消息流程來了解業(yè)務在哪些場景上用到了數(shù)據(jù)庫,以及對數(shù)據(jù)庫的要求有哪些?

下行消息交互圖如下所示:


當用戶設備網絡條件良好且不擁堵情況下,華為Push服務器在收到消息后,會先將消息存入高性能隊列中,然后隊列消費消息發(fā)送給用戶設備。但是當用戶設備處于弱網、網絡異常,或不在線、,熄屏狀態(tài)時,消息無法到達設備,或此時發(fā)送消息價值較低。Push業(yè)務為了保障消息不丟失,以及提升消息的有效率,利用數(shù)據(jù)庫為底座支持離線消息緩存能力。

離線消息緩存是指當消息到達華為PushUSH平臺后,如果設備不在線,華為PushUSH平臺會將消息緩存起來,等到設備上線后,華為PushUSH平臺會將緩存的消息再次推送給用戶。如果用戶很長時間不在線,這些緩存的消息默認保存24小時,最保存15天,超期的消息會被PushUSH平臺丟棄。

此時,在數(shù)據(jù)庫的選型上就需要考慮以下幾個問題:

1.推送速度每秒百萬級,極端場景下,大部分寫入數(shù)據(jù)庫,會有每秒百萬寫入請求,數(shù)據(jù)庫需要具備超高的寫入能力

2.當設備恢復正常狀態(tài)時,消息會從數(shù)據(jù)庫中讀出發(fā)送給用戶,消息的實時性會直接影響到消息的價值,此時就要求數(shù)據(jù)庫的讀時延低且長尾時延穩(wěn)定;

3.推送的消息中,多與時事熱點相關,容易引發(fā)流量增,且不可預知,這就要求數(shù)據(jù)庫具有快速彈性伸縮的能力;

4.為達成AI智能推送的能力,可能需要對數(shù)據(jù)庫中的數(shù)據(jù)進行數(shù)據(jù)挖掘和分析,從而實施智能推送策略,數(shù)據(jù)庫需支持與主流大數(shù)據(jù)引擎兼容的接口和解決方案

為什么選擇GaussDB(forCassandra)?

基于以上挑戰(zhàn),Push業(yè)務經過一系列技術選型,最終選擇了GaussDB(forCassandra)數(shù)據(jù)庫GaussDB(forCassandra)憑借豐富強大的特性,可以幫助Push業(yè)務很好應對消息緩存的挑戰(zhàn):

1.從請求量上看,GaussDB(forCassandra)輕松支持千萬級并發(fā)訪問,高并發(fā)不在話下;

2.從時延上看,GaussDB(forCassandra)除了本身具備超低時延的能力外,在并發(fā)量大的情況下,可通過擴容和規(guī)格變更,增加分區(qū)和負載均衡保證業(yè)務時延基本無變化;

3.從彈性伸縮上看,GaussDB(forCassandra)基于存算分離架構,支持秒級存儲擴容,分鐘級計算擴容,輕松應對流量高峰

4.從兼容能力看,GaussDB(forCassandra)支持CQL語法和靈活的數(shù)據(jù)定義,同時兼容主流的批式/流式處理引擎(Spark/Flink等),且提供動態(tài)增量+全量的解決方案,供大數(shù)據(jù)分析引擎接入,充分滿足不同類型數(shù)據(jù)的接入需求。

如何利用GaussDB(forCassandra)提升消息緩存體驗

下面,我們將從具體的幾個技術改進來聊聊,GaussDB(forCassandra)是如何幫助Push業(yè)務獲得更好的消息緩存體驗

降本增效

l降低Push集群對數(shù)據(jù)庫請求量:

-表結構設計時,將同一用戶設備的多條信息存入同一partition中

-在讀取時,可使用范圍查詢將同一用戶設備的多條信息批量查出,且時延較低

-在寫入時,使用Batch寫入,降低客戶端與數(shù)據(jù)庫的交互次數(shù)

l降低存儲使用量:業(yè)務科通過TTL、范圍刪除、單行刪除等多種手段,根據(jù)業(yè)務情況靈活使用達到數(shù)據(jù)消亡的目的,降低存儲用量。

彈性伸縮,熱點無憂

每當出現(xiàn)重大新聞,各大應用均產生了海量的推送消息,Push業(yè)務收到消息后,流量激增,集群規(guī)模難以支撐巨大的流量。但依靠GaussDB(forCassandra)的快速擴容能力,Push業(yè)務實現(xiàn)了分鐘級別的計算擴容,業(yè)務不受影響,而且當流量回歸正常后,可以進行縮容降低成本。

超強可靠性,底座無憂

GaussDB(forCassandra)不僅在讀寫性能上表現(xiàn)優(yōu)異,在數(shù)據(jù)可靠性上也表現(xiàn)突出。因為采用多節(jié)點分布式架構,任意盤或節(jié)點出現(xiàn)故障,讀寫操作會自動切換至其他節(jié)點,理論上可以達到N-1個節(jié)點故障容忍,即集群任一節(jié)點存活即可提供完整服務。同時還支持異地雙活,實現(xiàn)業(yè)務恢復和故障恢復解耦,Region級高可用。

綜上所述,GaussDB(for Cassandra)Push業(yè)務提供了高效、穩(wěn)定、安全的數(shù)據(jù)庫底座,助力Push業(yè)務實現(xiàn)了離線消息緩存架構。我們相信,借助GaussDB(for Cassandra), Push業(yè)務在消息推送領域,會為開發(fā)者提供優(yōu)質的服務和工具,助力企業(yè)提升業(yè)務價值和用戶體驗。

無懼百萬級并發(fā),GaussDB讓華為Push推送服務更快觸達的評論 (共 條)

分享到微博請遵守國家法律
易门县| 阜新市| 奎屯市| 揭西县| 讷河市| 陇川县| 盈江县| 武夷山市| 新宾| 林州市| 天门市| 沈丘县| 金平| 荣成市| 温宿县| 河曲县| 池州市| 鹤庆县| 沾益县| 闸北区| 施甸县| 巧家县| 五指山市| 阿拉善右旗| 历史| 清流县| 文成县| 宁陵县| 新巴尔虎左旗| 太仓市| 格尔木市| 海兴县| 海伦市| 乳山市| 福州市| 麻栗坡县| 宝山区| 金门县| 甘泉县| 独山县| 临漳县|