高并發系統設計方案(直播場景)

最近在準備面試,正把平時積累的筆記、項目中遇到的問題與解決方案、對核心原理的理解,以及高頻業務場景的應對策略系統梳理一遍,既能加深記憶,也能讓知識體系更扎實,供大家參考,歡迎討論。

1. 微服務拆分
  • Spring Cloud 微服務架構,將業務按功能模塊和熱點服務拆分:
    學員端、助教端、講師端、管理端、直播渠道網關、直播消息、直播營銷、直播視頻、直播網關(接收渠道回調)、直播socket、錄播推流服務等。
  • Job 單獨拆分:定時任務 Job 服務(計費,自動開播等)獨立部署,避免和業務服務耦合,防止 Job 的 CPU/內存抖動影響用戶請求。
  • 服務拆分優勢熱點服務可單獨高配與水平擴展,避免功能間相互影響,從而提升系統的高可用性與擴展性。同時通過服務解耦,避免如消息功能依賴的 ES 掛掉時,影響其他核心功能

2. 部署與擴展
  • Kubernetes 部署:所有服務以 Pod 形式運行,支持彈性伸縮(HPA),應對突發流量。
  • 多實例部署:Nginx / Ingress 做負載均衡,分攤請求,避免單點瓶頸。
  • 監控與告警:接入阿里云日志和 Prometheus,根據接口響應時間(>3s)觸發告警(日志服務告警功能的應用場景)。

3. 緩存策略
  • 分布式緩存:讀請求優先查 Redis,緩存未命中時訪問數據庫并回填緩存。
  • 應用鎖防擊穿:使用ReentrantLock(可重入鎖),限制只有少量節點能回源數據庫,其余節點直接等待緩存填充,避免緩存擊穿。
  • 異步刷新:熱點數據支持定時刷新 / 事件驅動刷新 Redis,降低實時 DB 依賴。

4. 消息隊列(MQ)
  • 解耦:登錄成功操作,通過 MQ 投遞消息,下游(SCRM 客戶維護、報表系統等)各自消費,降低耦合度。
  • 削峰,異步寫 DB:高頻寫場景(如簽到),先入 MQ,再后臺消費寫庫,避免數據庫直接承壓和接口請求超時。

5. 數據庫優化
  • 分庫分表(ShardingJDBC):SAAS平臺按公司 ID 取模水平拆分,突破單庫瓶頸。
  • 讀寫分離:MySQL 主從架構,主庫負責寫,從庫負責讀,可根據業務發展水平擴展。
  • 冷熱分離:歷史數據定期歸檔,保持在線表輕量化。如直播學員觀看記錄,結算后歸檔歷史庫,減少在線庫壓力。

6. 搜索與統計
  • Elasticsearch:承載直播消息全文檢索與復雜查詢/統計,分布式可擴容,天然支持高并發。

7. 限流與熔斷
  • 限流:接口支持使用 Redisson 的 RRateLimiter 進行分布式限流,同時可以通過白名單機制對特定 IP 免限流。
  • 熔斷:通過 Hystrix 實現服務熔斷、降級和隔離,保證在部分下游服務故障時系統仍能穩定運行,避免單個服務拖垮整體。

8. 核心總結
  • 緩存:承載高并發讀場景。
  • MQ:削峰 & 解耦,承載高并發寫場景。
  • 分庫分表 & 讀寫分離:突破單庫限制。
  • ES:查詢/搜索高并發支撐。
  • K8s 彈性擴容:Pod 橫向伸縮應對突發流量。
  • 應用鎖:限制只有少量節點回源數據庫,防止緩存擊穿。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/95481.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/95481.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/95481.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

網絡編程基礎:一文搞懂 Socket、HTTP、HTTPS、TCP/IP、SSL 的關系

在日常開發中,我們經常聽到 Socket、HTTP、HTTPS、TCP/IP、SSL 這些術語,這些概念往往容易混淆,且讓人感到困惑。本文將用最通俗易懂的方式來講清這些網絡概念及其相互關系。一、從寄信說起:網絡通信的本質假如你要給遠方的朋友寄…

查看LoRA 哪個適配器處于激活狀態(67)

哪個適配器處于激活狀態 當前哪個適配器處于激活狀態?我們來查看active_adapter屬性就知道了 peft_model.active_adapter輸出 default試試另一個(適配器) 你更想試試另一個(適配器)嗎?只需調用set_adapter()方法即可。 peft_model.set_adapter(yoda) peft_model.act…

??Nginx高性能Web服務器實戰:從協議原理到運維優化??

目錄 前言 一、Web基礎概念 1.1 什么是Web? 1.2 B/S架構模型 1.3 Web請求與響應流程 1.4 靜態資源 vs 動態資源 二、HTTP/HTTPS協議詳解 2.1 HTTP與HTTPS區別 2.2 HTTPS握手流程 2.3 HTTP狀態碼大全 三、Nginx核心知識 3.1 Nginx簡介 3.2 Nginx vs Apache 3.3 Nginx…

【先楫HPM5E00_EVK系列-板卡測評3】hpm5e00evk平臺中斷、定時器、PWM、USART等基礎功能詳解

此文介紹了利用先楫半導體(hpm)官方hpm5e00_evk開發板使用的主控芯片的一些原理性知識,無實驗內容展示,主要匯總了先楫半導體hpm5e00主控芯片的中斷、定時器、pwm、usart等功能,主要內容來源于B站“HPM_FAE”的視頻和官…

golang 依賴管理

目錄 演進過程 1. GOPATH 階段(Go 1.0 - 1.10,2012 - 2018) 2. Vendor 機制階段(Go 1.5 實驗性引入,1.6 正式支持,2015 - 2018) 3. Go Modules 過渡期(Go 1.11 - 1.16&#xff0…

概率論—隨機事件與概率

文章目錄考綱術語事件的關系與運算關系運算古典概型概念和性質放入問題——隨機分配取出問題——簡單隨機抽樣問題幾何概型概率的性質與計算性質計算事件的獨立性和獨立的判定事件的獨立性判定定理舉反例的思想獨立試驗序列概型與n重伯努利概型錯題考綱 術語 (隨機)試驗隨機事…

達夢:存儲過程實現多個用戶之間表的授權

一、背景在某項目現場,開發商想實現4個用戶之間能互相擁有表的查詢、刪除、插入、更新權限和存儲過程的執行權限。此過程只要在新增表之后,其他用戶的權限需要授權,如果是手動寫,一張表的授權就要寫至少3次sql語句,如果…

協議分析基礎

0x01 協議分析基礎 網絡安全領域的“基本功”:一切高級攻擊(漏洞利用、DDoS、滲透等)都體現為網絡流量的異常。 核心價值: 故障排查 : 定位網絡延遲、丟包、無法連接等問題。性能優化 : 分析應用性能瓶頸。…

AI生成內容的版權迷局:GPT-4輸出的“創意”版權風險與規避之道

大型語言模型(LLM)如 GPT-4,正以前所未有的速度和創造力,改變著內容生產的方式。無論是文章、代碼、圖片還是音樂,AI都能快速生成令人驚嘆的作品。然而,在這股“AI內容創作浪潮”之下,一個嚴肅的…

編程與數學 03-004 數據庫系統概論 19_數據庫的分布式查詢

編程與數學 03-004 數據庫系統概論 19_數據庫的分布式查詢一、分布式查詢的概念(一)分布式查詢的定義(二)分布式查詢的特點二、分布式查詢的優化(一)查詢分解(二)查詢分配&#xff0…

java--寫在 try 中的創建連接

1. 背景 在 Java 開發中,很多資源(數據庫連接、ZooKeeper 連接、Redis 客戶端、文件流等)都需要手動關閉。如果忘記關閉,會導致 資源泄漏(連接占滿、內存泄漏、文件句柄耗盡等)。 為了避免這種問題&#xf…

蔡文勝在香港買了一棟樓,免費給創業者辦公

蔡文勝在香港買了一棟樓,免費給創業者辦公。前段時間,蔡文勝出售美圖公司、套現約8億港幣后,以6.5億港元購入香港天后道上全幢物業,并將其更名為“CAI大廈”。一樓是咖啡廳,二樓做公眾活動,樓上會有兩層會開…

FOC+MCU:重新定義吸塵器電機控制——高效、靜音、智能的終極解決方案

傳統吸塵器電機的“三重困境”當前吸塵器市場,消費者對吸力、噪音、續航的訴求日益嚴苛,但傳統電機控制方案(如方波驅動、有感/無感BLDC控制)難以兼顧:效率低下:高速運行時電機發熱嚴重,電池能量…

樹形組件,支持搜索展示,自定義展示,支持vue2,vue3,小程序等等

效果圖平臺兼容性Vue2Vue3ChromeSafariapp-vueapp-nvueAndroidiOS鴻蒙√√√√√√---微信小程序支付寶小程序抖音小程序百度小程序快手小程序京東小程序鴻蒙元服務QQ小程序飛書小程序快應用-華為快應用-聯盟√√√√√√-√√√√多語言暗黑模式寬屏模式√屬性屬性名類型默認值…

元宇宙與教育變革:沉浸式學習重構知識獲取與能力培養

1 元宇宙打破傳統教育的核心局限1.1 突破空間限制:從 “固定教室” 到 “全域學習場景”傳統教育受限于物理空間,優質資源集中在少數學校與城市,而元宇宙通過 “虛擬場景復刻 跨地域實時交互”,將學習空間拓展至全球乃至虛擬維度…

如何在SpringBoot項目中優雅的連接多臺Redis

如何在SpringBoot項目中優雅的連接多臺Redis 在Spring Boot項目中,連接單個Redis實例是常見需求,但有時需要同時連接多個Redis實例(例如,主Redis用于業務數據存儲,另一個Redis用于爬蟲數據緩存)。本文將基于…

追覓科技舉辦2025「敢夢敢為」發布會,發布超30款全場景重磅新品

上海,2025年9月4日——在以「敢夢敢為」為主題的2025新品發布會上,追覓科技一次性發布超30款新品,全面涵蓋智能清潔、智能家電、家庭健康與個護等核心領域。在清潔家電與大家電“高端智能生態矩陣”已然成型的當下,追覓科技正在邁…

去服務器化的流媒體分發:輕量級RTSP服務的技術邏輯與優勢

一、設計背景:RTSP/RTP協議的技術根基 在流媒體傳輸體系中,RTSP(Real-Time Streaming Protocol) RTP/RTCP 組合被廣泛認為是最經典、最標準化的解決方案。 RTSP 作為應用層協議,本質上是一個 遠程會話控制協議。它通過…

mysql分頁SQL

在 MySQL 中,實現分頁查詢通常使用 LIMIT 子句。LIMIT 可以指定返回結果的起始位置和數量,非常適合實現分頁功能。 基本語法如下: SELECT 列名 FROM 表名 WHERE 條件 ORDER BY 排序字段 [ASC|DESC] LIMIT 起始位置, 每頁顯示數量;說明&#x…

刷新記錄:TapData Oracle 日志同步性能達 80K TPS,重塑實時同步新標準

在當前數據驅動的企業環境中,高效、穩定的數據同步能力已成為支撐關鍵業務系統的核心需求。尤其在高頻變更、大量增量數據的業務場景中,傳統的 Oracle 日志解析方案往往在吞吐能力和延遲控制方面力不從心。 隨著企業全面邁入“實時化”時代,金…