<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      千萬級Push鏈路演進(jìn)之路

      背景:該業(yè)務(wù)場景常見于促銷活動通知,有時候運營配置某些活動后,要全量的通知給用戶。在該項目中,push通知鏈路共有三個階段,伴隨用戶量和業(yè)務(wù)復(fù)雜度的上升,不斷地對該鏈路進(jìn)行優(yōu)化。

      階段一:初期,滾動拉取用戶數(shù)據(jù),采用線程池或for循環(huán),調(diào)用推送接口。進(jìn)行模板組裝和SDK調(diào)用

      瓶頸:

      • 性能效率方面:
        • 資源占用高:若用for循環(huán)調(diào)用推送接口,需依次處理每個用戶,用戶量大時耗時久,易引發(fā)系統(tǒng)長時間資源占用,拖慢其他業(yè)務(wù)。
        • 吞吐量受限:線程池若線程數(shù)設(shè)置不合理,或無有效任務(wù)隊列、拒絕策略,高并發(fā)下會線程競爭、任務(wù)積壓,降低推送吞吐量,無法及時觸達(dá)大量用戶。
      • 穩(wěn)定性與可靠性方面:
        • 異常影響范圍大:滾動拉取用戶和循環(huán)推送中,單個用戶處理出錯,若未妥善隔離,可能讓整個循環(huán)中斷或影響其他用戶處理,降低推送成功率與系統(tǒng)穩(wěn)定性。
        • 缺乏容災(zāi)重試:未對失敗推送任務(wù)有效重試、降級,遇到網(wǎng)絡(luò)抖動等臨時問題,會大量丟失推送,影響活動觸達(dá)效果,且難定位恢復(fù)故障。
      • 業(yè)務(wù)靈活性與擴(kuò)展性方面:
        • 耦合度高:模板組裝、SDK 調(diào)用和用戶拉取推送流程耦合,后續(xù)要換推送 SDK 或改模板,需改動大量代碼,增加維護(hù)成本與升級風(fēng)險。
        • 難適配復(fù)雜場景:業(yè)務(wù)復(fù)雜后,如按用戶分層、分時段推送,現(xiàn)有簡單循環(huán)難擴(kuò)展,要大改流程才能支持,限制業(yè)務(wù)創(chuàng)新優(yōu)化。

      階段二:引入mq和模塊劃分

      成效:

      • 性能效率方面
        • 提高并發(fā)處理能力:引入 MQ 集群,通過 MQ 分區(qū)和多消費節(jié)點實現(xiàn)了并發(fā)消費。相比階段一單純使用線程池或 for 循環(huán)依次處理用戶,并發(fā)消費能同時處理多個推送任務(wù),大大提高了 push 的時效性,減少了整體推送耗時,能夠更好地應(yīng)對大量用戶的推送需求 ,提升了系統(tǒng)的吞吐量。
        • 資源利用更合理:運營服務(wù)和推送服務(wù)職責(zé)分離,使得各自可以根據(jù)業(yè)務(wù)特點進(jìn)行針對性的資源配置和優(yōu)化。例如,運營服務(wù)專注于活動創(chuàng)建和用戶數(shù)據(jù)查詢,推送服務(wù)專注于消息組裝和推送,避免了階段一中因功能耦合導(dǎo)致的資源過度占用和相互影響,提高了系統(tǒng)資源的利用效率。
      • 穩(wěn)定性與可靠性方面
        • 解耦降低風(fēng)險:MQ 解耦了運營服務(wù)與推送服務(wù),使得一個服務(wù)出現(xiàn)問題時,不容易影響到另一個服務(wù)。比如運營服務(wù)在創(chuàng)建活動或查詢用戶數(shù)據(jù)時遇到短暫的性能問題,不會直接導(dǎo)致推送服務(wù)的阻塞或中斷,降低了單個服務(wù)故障對整個推送鏈路的影響范圍,提高了系統(tǒng)的穩(wěn)定性。
        • 失敗重試機(jī)制:MQ 具備消息持久化和重試機(jī)制,對于推送失敗的消息可以進(jìn)行重新投遞和處理,一定程度上解決了階段一中缺乏有效容災(zāi)重試的問題,提高了消息推送的成功率和可靠性。
      • 業(yè)務(wù)靈活性與擴(kuò)展性方面
        • 配置化管理:提供活動配置、推送模板配置等能力,代碼可以根據(jù)配置信息動態(tài)進(jìn)行推送渠道選擇和模板內(nèi)容構(gòu)建。這使得在面對不同類型的促銷活動或者業(yè)務(wù)需求變化時,無需修改大量代碼,只需要調(diào)整配置即可,提高了業(yè)務(wù)的靈活性和可維護(hù)性。
        • 抽象工廠模式:推送服務(wù)根據(jù)消息推送類型選擇對應(yīng)的組件工廠進(jìn)行消息組裝,采用抽象工廠模式實現(xiàn)了推送組件的可插拔性。當(dāng)需要新增推送渠道(如增加新的 APP 推送方式或新的短信供應(yīng)商)時,只需要擴(kuò)展對應(yīng)的組件工廠和推送組件,而無需修改其他部分的代碼,降低了代碼耦合度,增強(qiáng)了系統(tǒng)的擴(kuò)展性。

      但這種升級后仍存在瓶頸:

      • 推送效率與資源利用問題:雖用 MQ 解耦和多消費節(jié)點,但用戶數(shù)據(jù)處理和推送未充分利用分批(Batch)處理與多節(jié)點并行拆分。面對千萬級用戶,若單節(jié)點線性處理,即使多消費節(jié)點,整體推送仍慢;且未對用戶任務(wù)合理拆分合并,網(wǎng)絡(luò)請求、線程創(chuàng)建等資源開銷大,影響推送時效性與資源利用率。
      • 冪等性保障不足:未明確對推送冪等性的處理(如重復(fù)推送問題)。若 MQ 消息重試、消費異常等,可能導(dǎo)致同一用戶重復(fù)接收推送,影響用戶體驗,也增加系統(tǒng)無效處理壓力。
      • 任務(wù)拆分與并行度不足:對大規(guī)模用戶推送,未將用戶任務(wù)精細(xì)拆分為小批次(如按用戶 ID 區(qū)間拆分),也未充分利用多節(jié)點并行消費。當(dāng)用戶量激增,單節(jié)點或少量節(jié)點處理易出現(xiàn)任務(wù)積壓,拖慢整體推送進(jìn)度。
       最終版本:以40w用戶舉例,實際可以支持千萬級用戶pus

      優(yōu)勢:

      • 效率與資源優(yōu)化:
        • 任務(wù)拆分與 Batch 處理:通過 “活動消費者拆分用戶 ID 區(qū)間任務(wù)(1000 個用戶為 1 個任務(wù),再拆 100 個為 1 個 list )” + “線程池 + MQ 的 batch 消息”,大幅減少網(wǎng)絡(luò)請求次數(shù)。比如 1k 數(shù)據(jù),原單條推送需 10s,Batch 處理僅需 100ms ,提升推送效率。
        • 多節(jié)點并行:用戶提取消費者多個節(jié)點并行,結(jié)合節(jié)點多線程(如 4C8G 機(jī)器 30 線程),將推送耗時從階段二的高耗時,優(yōu)化到分鐘級,極大提升并發(fā)處理能力與時效性。
      • 冪等性保障:引入 Redis 判斷是否發(fā)送過,推送成功更新 Redis ,避免同一用戶重復(fù)推送,解決階段二可能的重復(fù)推送問題,保證推送冪等性,減少無效處理,提升系統(tǒng)可靠性與用戶體驗。
      • 任務(wù)流程精細(xì)化:細(xì)化推送流程各環(huán)節(jié)(從活動創(chuàng)建發(fā) MQ ,到活動消費者拆分任務(wù)、用戶提取消費者分批處理,再到推送服務(wù)消費者線程池處理),通過 “獲取最大用戶 ID → 拆分區(qū)間 → Batch 處理 → 多節(jié)點并行”,讓大規(guī)模用戶推送任務(wù)分配更合理,充分利用資源,適配高并發(fā)場景。

      最后,此版本以可滿足當(dāng)時項目的用戶體量和時效要求

       

       

       
       
       
      posted @ 2025-07-21 21:38  難得  閱讀(19)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 欧美肥妇毛多水多bbxx| 久久亚洲精精品中文字幕| 2021亚洲va在线va天堂va国产| 久久精品国产中文字幕| 亚日韩精品一区二区三区| 中文字幕久久久久人妻 | 国产普通话刺激视频在线播放| 亚洲一区成人在线视频| 最新精品国偷自产在线美女足| 亚洲成a人片77777kkkk| av永久免费网站在线观看| 亚洲日韩精品无码一区二区三区| 临邑县| 久久精品免费自拍视频| 欧美日韩国产va在线观看免费| 亚洲国产美女精品久久久| 中文字幕av中文字无码亚| 国产美女久久久亚洲综合| 国内揄拍国内精品少妇国语| 欧美人妻在线一区二区| 连云港市| 日韩无人区码卡1卡2卡| 天天躁日日摸久久久精品| 国产精品爽爽va在线观看网站| 欧美黑人添添高潮a片www| 中国性欧美videofree精品| 亚洲精品在线二区三区| 亚洲精品一区二区口爆| 天天做天天爱夜夜夜爽毛片| 久热这里只有精品12| 久久国产热这里只有精品| 欧美成人一卡二卡三卡四卡| 免费又大粗又爽又黄少妇毛片| 国产精品成人一区二区三| 毛片网站在线观看| 国产精品自拍一二三四区| 人妻无码ΑV中文字幕久久琪琪布 国产乱人伦AV在线麻豆A | 久久精品无码免费不卡| 无码人妻精品一区二区三区东京热 | 在线播放深夜精品三级| 女人腿张开让男人桶爽|